Voyager Resolve Free caption tutorial sample

Source: caption-test.mp4, 1920x1080, 24 fps, about 40.08 seconds.
Speech: synthetic macOS Samantha narration from reference.txt. The source title
says local transcription because it was reused from an initial local test.

Fal MCP calls on September 17, 2026 (Pacific time):
1. fal-ai/wizper: task=transcribe, language=en, chunk_level=segment, merge_chunks=false.
2. fal-ai/elevenlabs/forced-alignment: same source and returned transcript.

transcript.json and alignment.json contain model outputs only, without keys or
signed upload URLs. captions-first-pass.srt is the automatic grouping output.
captions.srt is the reviewed 14-cue version; cue-plan.json records inclusive
non-whitespace word-index ranges used to review the grouping.

To reproduce the first grouping pass with Python 3:
  python3 make_srt.py alignment.json recreated-first-pass.srt
This intentionally does not overwrite the reviewed file. Review phrase boundaries,
including DaVinci Resolve, before delivering your own recording.

Import captions.srt in Resolve using File > Import > Subtitle, then drag the
asset to a subtitle track aligned with the source recording.

This small synthetic example is not a general transcription benchmark.

Native Resolve verification:
- Open Subtitles import check for the reviewed 14-cue track.
- Caption test - 24 fps is the source-only timeline.
- Voyager-caption-tutorial.drp is the exported project. If Resolve shows media
  offline after import, relink caption-test.mp4 to the file in this bundle.
- resolve-export.srt was exported back from Resolve. Text and line breaks match
  captions.srt, apart from bold tags. Timestamps differ by at most 20 ms at 24 fps.
- resolve-captioned.mp4 is a web copy of the native Resolve H.264 QuickTime export:
  the video was stream-copied and PCM audio encoded to AAC. Captions were burned
  by Resolve, not added during this conversion.
