captions

Per-word highlighted caption overlays. Each word is rendered in highlight_color when it is being spoken, creating a karaoke-style effect.

When to use

Use after your transcript and edit cut are finalized. Requires both a transcript step and a backbone step to map source timestamps to timeline positions.

Tip: The edit processor's caption_burn operation burns a single line of text onto a clip. This processor remains the option for transcript-driven, timed captions.

In the editor

Add it from the Library (Overlays group), or with + add step and a search for captions, once your transcript and your cut are settled: captions built against a cut you then change will be out of step with it.

Under Inputs, add transcript as a step input pointing at your transcript step, and backbone as a step input pointing at the step that made the cut. That second one is what keeps the words landing on the right frames after silences and mistakes have been removed.

max_words is how many words are on screen at once, and small numbers read better on a phone. font_size, scale and position_y size and place them: position_y counts from the middle of the frame, so a negative number sits the captions lower. highlight_color is the word being spoken and text_color the rest; outline_color with outline_size is what keeps them legible over busy footage. word_corrections is a find-and-replace applied before grouping, which is where you fix a product name that keeps coming through wrong.

Set Output Level to a captions level that draws above your footage.

The captions appear as their own clips on that level in the run timeline, one per group of words, and you can edit the text there after the run. Caption groups are kept with the run group, so a later run reuses them rather than rebuilding them.

YAML Example

- id: captions
  processor: captions
  input:
    - id: transcript
      step: correct_transcript
    - id: backbone
      step: ai_cut
  params:
    max_words: 5
    font_size: 72
    position_y: -480
    scale: 0.75
    highlight_color: "red"
    text_color: "white"
    outline_color: "black"
    outline_size: 8
    outline_fuzziness: 3
    line_gap: 10
    font_file: ""
    word_corrections:
      "ninety nine percent": "99%"
      "red panda": "Redpanda"
  output:
    timeline: captions
  cache: true

Inputs

ID Source Description
transcript step Transcript with word timestamps (use the corrected transcript if available)
backbone step (optional) Edit decisions: maps source timestamps to timeline positions. When omitted, source timestamps are used as-is.
original step or file (optional) Original script or transcript used by ai_correct: true for alignment. Accepts a step output or a text file.

Params

Param Type Default Description
max_words number 5 Words per caption group
font_size number 72 Base font size in pixels
position_y number -480 FCP pixels from center (negative = below center)
line_gap number 0 Vertical gap between lines
highlight_color color "red" Color of the active (currently spoken) word
text_color color "white" Color of inactive words
outline_color color "black" Outline color
outline_size number 8 Outline width in pixels
outline_fuzziness number 0 Shadow spread in pixels
font_file string none Path to .ttf. Auto-detects Arial Bold if empty.
ai_correct bool false Align cut transcript against a full-recording transcript to restore symbols (%, $, -) and compound words (USB-C, CI/CD) that Whisper drops. Requires an original input (step or file).
scale number 1 FCP transform scale
word_corrections text none Multi-word find→replace applied before grouping (preserves timing)

Output

EditDecisions on the captions level: one clip per caption group.

Notes

  • Caption groups are saved with the run group. A run started from inside that group, or a re-run from a later step, reuses them; a fresh run from the template computes them again (see Reusing work between runs). To adjust them, edit caption text in the run timeline, use word_corrections, or clear the step's cache to recompute from the transcript (see "Fixing captions" above).
  • Word corrections: merges matched words into single caption entries with redistributed timestamps; corrections don't break caption timing.
  • See the Captions guide for manifest editing details.