Images, audio and video

See, hear and redact: AI for images, audio and video inside your workflows.

Eight workflow steps work with the photos, recordings and videos your processes collect: transcribe a call, read a photo, blur faces and ID numbers, bleep a card number, generate an image or a spoken notice, trim and convert. They use the AI provider you choose — with your own key — and hand every result to the next step.

workflow steps
8
workflow steps
AI providers
9
AI providers
sensitive info types
50+
sensitive info types
per workspace, encrypted
Your key
per workspace, encrypted
The workflow designer with Analyze Image and Redact Image steps; the Redact Image settings show Google Gemini as the AI provider, the ID photo as the image, and Faces and Sensitive text selected

Transcribe

Every word, who said it and when.

Meetings, support calls, interviews and voice notes become text, timed segments and subtitle files the next step can summarise, search or attach.

  • Speaker labels, segment and word timestamps, language detection and a vocabulary hint
  • SRT and VTT subtitles, plain text and JSON — as files in {{transcript_files}}
  • Long recordings run in the background; the run continues when the transcript is ready
  • Recordings longer than a provider's upload limit are split into chunks automatically

Transcribe Audio / Video Quick start

The Transcribe the call step and its settings: Deepgram as the AI provider, the Recording input as the source, Label speakers on, SRT and TXT files and run mode Auto

Analyse images and video

Ask a photo a question. Branch on the answer.

Analyze Image describes, labels and reads a photo, finds faces and objects with boxes and checks it for unsafe content. Give it a question and named fields and the answer comes back typed.

  • Damage photos, receipts, site inspections: {{image_analysis_answer.damaged}} in a Condition
  • Analyze Video: a summary, scenes with timestamps, labels, on-screen text and key frames
  • Google Gemini watches a whole video; other providers look at frames sampled from it

Analyze Image Analyze Video

json
{
  "type": "media_analyze_image",
  "label": "Check photo",
  "config": {
    "integration_id": "<integration-id>",
    "source": "{{form.photo}}",
    "features": ["description", "text"],
    "prompt": "Is there visible damage to the vehicle? Which part?",
    "fields": [
      { "name": "damaged", "type": "boolean" },
      { "name": "part", "type": "string" }
    ]
  }
}

Redact images, video and speech

Blur what shouldn't be seen. Bleep what shouldn't be heard.

Redact Image and Redact Video find faces, license plates and sensitive text and make a copy with them blurred, pixelated or boxed — the original stays untouched. Redact Video also bleeps or mutes spoken personal data, in video and in audio-only recordings.

A specimen driver license before and after Redact Image: the face, date of birth and SSN are blurred; the name and the specimen notice are unchanged
Redact Image on a specimen card: one face, one date of birth and one US SSN found and blurred.

Faces and plates

Located, never identified. Boxes from Azure AI Vision and AWS are measured; Gemini’s come from the model — check them with Detect only.

50+ information types

National IDs, card and bank numbers, dates of birth and more — the same detectors, check digits and context words as Redact Document.

Bleep spoken PII

Transcribe the speech, find card numbers, dates of birth or the names you list, and bleep or mute exactly those words.

Detect only

Report what was found — type, masked text, confidence and box — without changing the file. Findings are masked in the run history.

Redact Video settings: Sensitive speech set to Bleep, Deepgram as the speech provider, the transcript from an earlier step reused, and all high-confidence information types

A support call, safe to share.

Transcribe the call once, pass the transcript to Redact Video and bleep every card number and date of birth. The copy is a file object; audio_segments lists what was bleeped and when, with the text masked.

Redact Image Redact Video Information types

Generate, speak and convert

Make media, too.

Create the image a notification needs, speak a message for a phone line, and prepare files for the next system — all in the same run.

Generate / Edit Image

One to four images from a prompt with expressions in it, or an edit of an existing image with an optional mask. PNG, JPEG or WebP, with OpenAI or Stability AI.

Generate / Edit Image

Text to Speech

“Hello {{customer.first_name}}, your order has shipped.” — as MP3, WAV, Opus, AAC or FLAC, in the voice, speed and style you choose, with OpenAI, Azure AI Speech, Deepgram or ElevenLabs.

Text to Speech

Media Utilities

FFmpeg on your server, no provider, nothing sent out:

  • Get media info
  • Extract audio
  • Extract frames
  • Thumbnail
  • Trim
  • Convert format
  • Compress
  • Burn in subtitles

Media Utilities

Bring your own key

9 providers. Pick per step.

Add a provider once as an integration with your own API key, then choose it in each step — Deepgram for calls, Azure AI Vision for redaction, Gemini for video. The designer lists only connections that can do the step.

  • OpenAI
  • Google Gemini
  • Azure AI Speech
  • Azure AI Vision
  • AWS (Transcribe + Rekognition)
  • Deepgram
  • AssemblyAI
  • ElevenLabs
  • Stability AI
What each media provider can do
ProviderTranscribeDescribe / label imagesText with positionsFace boxesObject boxesSafetyWhole videoGenerate imagesEdit imagesText to speech
OpenAITranscribe: yesDescribe / label images: yesText with positions: noFace boxes: noObject boxes: noSafety: yesWhole video: noGenerate images: yesEdit images: yesText to speech: yes
Google GeminiTranscribe: yesDescribe / label images: yesText with positions: yesFace boxes: yesObject boxes: yesSafety: noWhole video: yesGenerate images: noEdit images: noText to speech: no
Azure AI SpeechTranscribe: yesDescribe / label images: noText with positions: noFace boxes: noObject boxes: noSafety: noWhole video: noGenerate images: noEdit images: noText to speech: yes
Azure AI VisionTranscribe: noDescribe / label images: yesText with positions: yesFace boxes: yesObject boxes: yesSafety: noWhole video: noGenerate images: noEdit images: noText to speech: no
AWS (Transcribe + Rekognition)Transcribe: yesDescribe / label images: yesText with positions: yesFace boxes: yesObject boxes: yesSafety: yesWhole video: noGenerate images: noEdit images: noText to speech: no
DeepgramTranscribe: yesDescribe / label images: noText with positions: noFace boxes: noObject boxes: noSafety: noWhole video: noGenerate images: noEdit images: noText to speech: yes
AssemblyAITranscribe: yesDescribe / label images: noText with positions: noFace boxes: noObject boxes: noSafety: noWhole video: noGenerate images: noEdit images: noText to speech: no
ElevenLabsTranscribe: yesDescribe / label images: noText with positions: noFace boxes: noObject boxes: noSafety: noWhole video: noGenerate images: noEdit images: noText to speech: yes
Stability AITranscribe: noDescribe / label images: noText with positions: noFace boxes: noObject boxes: noSafety: noWhole video: noGenerate images: yesEdit images: yesText to speech: no

Generated from the provider catalogue in the code, so it matches what the designer offers. Limits and notes per provider are in the docs.

Provider setup and where to get keys Capability matrix

Privacy and cost

Your provider, your key, your bill — and a record of each.

Media goes to one place: the provider you chose for the step, when the step runs. What it cost is on the step’s result.

Only to your provider

Nothing is sent when you add a connection or design a workflow. Residency follows the provider and the region or endpoint you configure.

Keys per workspace

Each key is stored encrypted on the workspace’s integration, or as a reference to your secret store, and loaded only for that workspace’s runs.

Lean run history

Counts, durations, provider, model, file names and a 200-character preview — never the media or a full transcript. Temporary files are deleted when the step ends.

Cost on every step

An estimate from the provider’s list prices — per minute, image or character — with the result and in the run history. No price, no guess: it says “cost unknown”.

Save & Test logs: Blur face and ID numbers redacted one face, one date of birth and one US SSN with blur, and an estimated cost in USD

Test it before it touches real files.

Save & Test runs the steps inline on a sample. The log shows what was found by type, the style used and the estimated cost — the values themselves stay masked.

Privacy Cost

AI agents

Agents that can listen and look.

Turn on Media (images, audio, video) in the agent designer and pick a connection: the agent gets transcribe_media and analyze_image for files attached to the conversation or a URL.

  • Same provider connections and keys as the workflow steps
  • Put the media tools on the agent's approval list, like any tool that calls out
  • Or keep it in the workflow: Transcribe, then hand {{transcript_text}} to a Run Agent step

Agent tools AI agents and models

The agent designer's capability bundles with Media (images, audio, video) enabled, using a Deepgram connection, with the tools transcribe_media and analyze_image

Where it runs

Provider steps everywhere. FFmpeg in the box.

Every deployment

Transcription within the provider’s upload limit, image analysis, image redaction (PNG and JPEG are processed in JavaScript), image generation and text to speech run wherever UserTasks runs — cloud, serverless or your own servers.

Docker, Kubernetes and on-premises

The Docker image ships with FFmpeg, so Media Utilities, Redact Video, frame sampling for Analyze Video and chunked transcription of long recordings work out of the box with Docker Compose, the Helm chart and on-premises installs. Elsewhere, point FFMPEG_PATH at a binary; serverless hosts without FFmpeg, such as Vercel, run the provider steps.

Where it runs Limits Deploy anywhere

How-to guides

Start with a recording, a photo or a call.

Recordings and photos from a form.

Every media field takes a file from a form’s Attachments field, an earlier step, a storage reference or a URL. Every output — transcripts, redacted copies, images, speech, frames — is a file object the next step can email, store or loop over.

Forms and attachments Document actions

json
{
  "type": "media_transcribe",
  "label": "Transcribe meeting",
  "config": {
    "integration_id": "<integration-id>",
    "source": "{{form.recording}}",
    "diarize": true,
    "formats": ["srt", "txt"],
    "output_var": "transcript"
  }
}

Questions

Which AI providers can the media steps use?

OpenAI, Google Gemini, Azure AI Speech, Azure AI Vision, AWS (Transcribe + Rekognition), Deepgram, AssemblyAI, ElevenLabs, Stability AI. You add a provider once as an integration with your own API key and choose it in each step. The designer lists only connections that can do the step, and says what the chosen one lacks.

Where do my images, recordings and videos go?

Only to the provider you choose in the step, and only when the step runs — adding a connection or designing a workflow sends nothing. Data residency and retention follow that provider and the region or endpoint you configure. Run history never contains the media or full transcripts: it shows counts, durations, file names, a short preview and the estimated cost.

Can it recognise who is in a photo?

No. Faces are located, never identified: the steps return where a face is so it can be blurred or counted, not who it is.

How does redaction find ID numbers and card numbers in an image?

The step reads the image's text with positions and checks it with the same 50+ information types as Redact Document — national IDs, card and bank numbers, dates of birth and more, with check digits and context words — plus any words and patterns you add. Each finding has a type, a confidence and a box; the values are masked in the run history.

How long can a recording be?

Up to two hours by default (MEDIA_MAX_DURATION_SECONDS) and 100 MB (MEDIA_MAX_MB); self-hosters can raise both. In run mode Auto, media longer than five minutes runs in the background and the workflow continues when the result is ready.

What does it cost?

The provider bills your account directly. Each step estimates its cost from the provider's published list prices and returns it with the result and in the run history; when there is no price for a model it says so rather than guessing. Self-hosters can override prices with MEDIA_PRICES_JSON.

Do I need FFmpeg?

Only for local processing: Media Utilities, Redact Video, frame sampling in Analyze Video and splitting recordings longer than a provider accepts in one upload. The Docker image includes FFmpeg, so Docker, Kubernetes and on-premises installs are ready. Everything that runs at the provider — transcription, image analysis and redaction, image generation and speech — works on every deployment.

Put recordings and photos in the loop.

Collect them with a form, transcribe, analyse and redact them in the run, and send the result where it needs to go — with the provider you trust.