Open Fonts for Captions — style 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.
12 OFL caption and title families, plus the tools to load, fit, split and subset them so renders never use a fallback.
- Type: Style · Captions & subtitles
- Slug:
craft-caption-fonts - 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 type in code-to-video. It names twelve caption-friendly families verified as OFL-1.1 on Google Fonts (Inter, Montserrat, Anton, Bebas Neue, Archivo Black, Poppins, Roboto Flex, JetBrains Mono, Noto Sans with its CJK and Arabic sisters, TikTok Sans, Atkinson Hyperlegible and Oswald), each with the job it does well and its script coverage. Around them sit the tools a render needs: self-hosting with Fontsource or @remotion/fonts, gating the first captured frame on document.fonts.load() for every face instead of trusting document.fonts.ready alone, fitting and trimming text (fitty, Capsize, Pretext), splitting it for kinetic type (GSAP SplitText, Splitting.js, harfbuzzjs for joined scripts) and subsetting with fontTools under the OFL's rules. Draft until the pack ships each font with its license text in vargHQ/skills.
Use when
- Choosing a caption or title font that is safe to bundle and covers the script
- A headless render captured a fallback font or shifted glyphs
- Fitting, trimming or splitting text for kinetic type
- Subsetting fonts without breaking their license
Not for
- Proprietary faces or Adobe Fonts, which cannot be bundled into a render pipeline
- Typography direction and timing (use Title & Kinetic Typography or Kinetic Typography)
Install
Not published as a standalone skill yet. Source: https://github.com/vargHQ/skills
Example output
https://skills.varg.ai/previews/craft-caption-fonts.mp4 — The pack's twelve families cycling as the same caption line, 0.67 s each: Inter, Montserrat, Anton, Bebas Neue, Archivo Black, Poppins, Roboto Flex (wdth 125), JetBrains Mono, Noto Sans, TikTok Sans, Atkinson Hyperlegible, Oswald, all OFL-1.1 files from github.com/google/fonts, self-hosted in headless Chrome with every face gated on document.fonts.load() before capture, then overlaid with ffmpeg. Backdrop: Tears of Steel 720p (CC BY 3.0, (CC) Blender Foundation | mango.blender.org), 02:43.6-02:51.6, cropped to 16:10. No model run. (credit: OFL fonts (Google Fonts) set by varg over Tears of Steel (CC BY 3.0, (CC) Blender Foundation | mango.blender.org), https://github.com/google/fonts/tree/main/ofl)
Used for
- Animated captions on your video: TikTok-style subtitles burned into an existing video: word highlight, pop words, or designed editorial captions.
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.