Caption Pipeline Libraries — guide skill for captions & subtitles
For AI agents: find the right skill in one call —
curl -s "https://skills.varg.ai/api/search?q=<what the person wants>"returns the matching use case and the best skills with install commands, as markdown (Russian works too). Full index: https://skills.varg.ai/llms.txt. Every page has a markdown twin: add.mdto its path. Before generating anything, show the person the options on the use-case page.
Open-source libraries for every caption step: word timing, alignment, SRT/VTT/ASS, in-page or ffmpeg rendering.
- Type: Guide · Captions & subtitles
- Slug:
craft-caption-libraries - Status: draft
- Publisher: varg (varg, verified)
- License: MIT
- Source: https://github.com/vargHQ/skills
- Works in: Claude Code, Claude.ai, Codex, Cursor, Gemini CLI, OpenClaw, Any MCP client, varg Studio
What it does
A pointer pack for the caption half of a code-to-video pipeline, in the order a render runs: transcribe with word timestamps (whisper.cpp, faster-whisper, WhisperX), tighten timing against a known script (ctc-forced-aligner, Montreal Forced Aligner), read and write SRT, WebVTT and ASS (@remotion/captions, subtitle.js, subsrt-ts, ass-compiler, pysubs2), then render the captions in the page (HyperFrames caption components, ASS.js, JASSUB) or burn them in with ffmpeg's libass filters. Licenses, stars and last commits were checked on GitHub on 2026-10-26, and each note flags its trap: CC-BY-NC alignment weights, Remotion's company license on its whisper installer, LGPL/GPL native code inside JASSUB's npm package, FFmpeg build flags. Draft until the pack is published in vargHQ/skills with a manifest.
Use when
- Picking a transcriber or aligner for word-timed captions
- Parsing, converting or styling SRT, VTT or ASS files in code
- Choosing between in-page caption rendering and an ffmpeg burn-in
- Checking whether a caption library is safe to ship commercially
Not for
- Caption looks and motion (use the HyperFrames registry or Remotion Captions)
- Hosted speech-to-text APIs (use ElevenLabs Speech to Text)
Install
Not published as a standalone skill yet. Source: https://github.com/vargHQ/skills
Example output
https://skills.varg.ai/previews/craft-caption-libraries.mp4 — Word-timed caption burn, the end of the pack's pipeline, no model run: the film's official English subtitles (TOS-en.srt, lines 17-20, from the Blender mirror) split into pages of up to four words, word onsets set by hand from the audio spectrogram (no ASR run), each page rendered to transparent PNGs in headless Chrome with Montserrat ExtraBold (OFL; active word in an orange box, next words dimmed) and composited with ffmpeg overlay=enable='between(t,a,b)' (this ffmpeg build has no libass). Footage: Tears of Steel 720p (CC BY 3.0, (CC) Blender Foundation | mango.blender.org), 03:16.9-03:26.6, cropped to 16:10; the preview is silent. (credit: varg captions on Tears of Steel (CC BY 3.0, (CC) Blender Foundation | mango.blender.org), https://mango.blender.org/)
More captions & subtitles skills
- 3D Camera Captions: Captions that live in 3D around a talking head: the camera flies through the words, heroes pass behind the speaker.
- Remotion Captions: Transcribe speech and burn in animated captions with Remotion, or import an existing SRT file.
- ElevenLabs Speech to Text: Transcribe audio and video with word timestamps, speaker labels and keyterms, ready for subtitles.
- ElevenLabs Speech to Text (inference.sh): Transcribe audio with ElevenLabs Scribe, speaker diarization and forced alignment, via inference.sh.
- Speech to Text: Transcribe audio with ElevenLabs Scribe v2 or Whisper V3 Large, with timestamps and speaker labels.
- Pretext Text Metrics: Measure and fit text without the DOM using pretext: auto-fit sizes, know line breaks before render, canvas/WebGL text.