Skip to main content

Auto Captions

The Auto Captions node transcribes audio from a video and overlays styled captions. Customize fonts, colors, animations, and positioning.

Inputs

Connect a single video to the Video handle. For multi-clip output (e.g., from Clip Finder), wrap this node in a Split → Collect loop so each clip is captioned individually — see Connecting Nodes — Arrays vs. single items for the standard shape and the Apply to All Remaining Clips shortcut.

Outputs

Available engines

How it works

  1. Receives a video with audio from the input handle
  2. Audio is transcribed into timestamped words
  3. You configure the caption style (font, colors, animation, position)
  4. Captions are overlaid on the video
  5. The captioned video is output

Per-clip styles via Split → Collect

For multi-clip flows, wrap Auto Captions inside a Split → Collect loop so the node runs once per clip — you can design each clip’s captions individually and the Collect node bundles them for export. When the node detects it’s inside a loop, it surfaces an Apply to All Remaining Clips shortcut on the design step that finishes the current clip’s captions and quietly applies the same style to every later iteration without re-opening the design UI. For headless runs, see _caption_style_overrides below — it sets a single style applied to every iteration.

Caption style options

The CaptionStyle object is what both the visual editor and the API render with. Every field is optional — anything you omit inherits the default. Defaults below come from the Default preset — the same one a fresh captions step starts with.

Available fonts

Caption rendering uses a fixed preloaded font set in both the browser preview and the cloud render. Pick from this list to guarantee the font actually shows up on the rendered MP4: Other fonts won’t load at render time — they’ll fall back to a generic system font. If you need a font that isn’t on this list, ask support or open an issue; we’ll add it to the preloaded set.

Design a style visually — the Caption Designer

Don’t want to handcraft a JSON payload? Use the Caption Designer — a standalone tool that gives you the same controls as the in-flow node, a live preview, and a single portable style ID you can drop straight into the captions step or the API. The Designer produces an ID of the form cs_…. Use it two ways:
  • In the flow editor. Open the captions node in the flow builder and paste the ID into the Default Caption Style ID field. When the flow runs, the captions step opens with that style pre-applied — users can still tweak it in the runner before captions are baked in.
  • In the API. Pass it as _caption_style_id under model_overrides for the captions step — see below.
The ID is self-contained: it carries the full style payload, so it works in any account and never expires.

Using styles via the API

For headless runs you have two options — pass a Caption Designer style ID directly, or pass a partial CaptionStyle override. Both go under model_overrides for the captions step. Option A — paste a style ID from the Caption Designer:
Option B — pass _caption_style_overrides (a partial CaptionStyle):
If both _caption_style_id and _caption_style_overrides are present, the overrides win field-by-field — handy for tweaking a single property on a saved style without re-designing it. See the API node-support docs for the full reference (look under How DOM-dependent nodes work server-side → auto_captions).

Credit cost

1 credit per transcription.

No speech detected

If the video has no detectable dialogue, the node displays an error screen with two options:
  • Try Again — re-run the transcription (costs another credit)
  • Skip Captions — pass the video through without captions and continue the flow

Tips

  • This node is interactive — you configure caption styles during flow execution
  • The pop and bounce animations work well for short-form vertical content
  • Use word animation scope for a karaoke-style effect
  • Use group animation scope for a more natural reading experience
  • Position captions in the lower third (position: 70–80) for standard placement

Example use cases

  • Adding subtitles to voiceover narration
  • Creating TikTok/Shorts-style word-by-word captions
  • Adding accessibility captions to any video with audio