generate_transcript
Transcribes audio via OpenAI Whisper, producing word-level timestamps.
When to use
Run generate_transcript early in your pipeline. Its output is consumed by deadspace_trimmer, captions, broll_place, broll_veo_generate, and ai_agent.
In the editor
Add it from the Library (Transcript group), or with + add step and a search for generate_transcript, early in the pipeline: captions, b-roll placement and silence trimming all read what it produces.
Under Inputs, add source as a file input naming your recording. Set language if you know it, or leave it empty and it will be worked out from the audio. The two optional inputs are for narrower cases: cuts, a step input, transcribes only the parts an earlier step kept rather than the whole file, and footage, a step input, transcribes an assembled edit that draws on several files.
This step needs your own OpenAI key. Add it in the workspace's Variables & Service API Keys, from the editor's Settings. If it is missing, the run stops and asks for it rather than failing halfway through.
Nothing appears on the timeline. The result is the words with the exact time each one was said, which is what makes captions land in sync and lets other steps know what the video is about. Wire this step into those steps as their transcript input.
YAML Example
# Basic transcription
- id: transcribe_main
processor: generate_transcript
input:
- id: source
file: speaker-footage
params:
language: "en"
cache: true
# Re-transcribe only kept segments after an AI cut
- id: transcribe_cut
processor: generate_transcript
input:
- id: source
file: speaker-footage
- id: cuts
step: ai_cut # only transcribes kept segments; timestamps remapped to source
params:
language: "en"
cache: true
Inputs
| ID | Source | Description |
|---|---|---|
source |
file | Source video or audio file |
cuts |
step (optional) | Edit decisions from a previous step: only those segments are transcribed |
footage |
step (optional) | Edit decisions from footage_assembler: assembles multi-source backbone audio and transcribes it as a timeline-relative transcript |
Params
| Param | Type | Default | Description |
|---|---|---|---|
language |
string | none | ISO 639-1 language code (e.g. "en", "es"). Empty = auto-detect. |
backbone_level |
level | none | Which timeline level to use for audio assembly when footage input is provided |
Output
Analysis containing a Transcript with word-level timestamps.
Notes
- Requires an
OPENAI_API_KEYset in your workspace's Service API Keys. - Always use
cache: true: transcription is slow and the result never changes for the same audio. - When
cutsinput is provided, only the referenced source segments are sent to Whisper. Timestamps are remapped back to source file positions.