How to add animated captions to a video with AI

For AI agents: find the right skill in one call — curl -s "https://varg.ai/how-to/api/search?q=<what the person wants>" returns the matching how-to page and the best skills with install commands, as markdown (Russian works too). Full index: https://varg.ai/how-to/llms.txt. Every page has a markdown twin: add .md to its path. Before generating anything, show the person the options on the how-to page.

TikTok-style subtitles burned into an existing video: word highlight, pop words, or designed editorial captions. A step-by-step tutorial for Claude Code, Codex and Grok.

Output: The same video with burned captions, plus SRT/VTT Price: in credits on varg, with a cost estimate before anything runs; the free skills below install in one command.

Recommended route

Best skills for this

  1. Remotion Captions (remotion-captions, Remotion, live) — Start here: Transcribe and burn animated captions with Remotion, or import an SRT
  2. Caption Animation (iart-caption-animation, iart.ai, live) — Start here: Word-timed TikTok captions: per-word pop, active-word highlight, 9:16 safe zones
    • Claude Code: npx skills add https://github.com/iart-ai/tiktok-video-skills --skill caption-animation
    • Codex: npx skills add https://github.com/iart-ai/tiktok-video-skills --skill caption-animation
    • Cursor: npx skills add https://github.com/iart-ai/tiktok-video-skills --skill caption-animation
    • Details: https://varg.ai/how-to/skills/iart-caption-animation.md
  3. Agent Caption (agent-caption, Ali Hamza Kamboh, beta) — Alternative: Local captions in any language: Whisper words, forced alignment, burned styles
  4. 3D Camera Captions (hyperframes-camera-3d-captions, HeyGen, live) — Alternative: Captions that live in 3D around a talking head
  5. Cinematic Caption (cinematic-caption-audrey, Audrey, beta) — Alternative: Designed editorial captions for HyperFrames
    • Claude Code: git clone https://github.com/audrey-560/hyperframes-cinematic-caption.git ~/.claude/skills/cinematic-caption
    • Codex: git clone https://github.com/audrey-560/hyperframes-cinematic-caption.git ~/.agents/skills/cinematic-caption
    • Details: https://varg.ai/how-to/skills/cinematic-caption-audrey.md
  6. ElevenLabs Speech to Text (elevenlabs-speech-to-text, ElevenLabs, live) — Adds: Word timestamps and speaker labels for the transcript · Needs: ElevenLabs API key (ELEVENLABS_API_KEY)
    • Claude Code: npx skills add elevenlabs/skills --skill speech-to-text -a claude-code
    • Codex: npx skills add elevenlabs/skills --skill speech-to-text -a codex
    • Cursor: npx skills add elevenlabs/skills --skill speech-to-text -a cursor
    • Gemini CLI: npx skills add elevenlabs/skills --skill speech-to-text -a gemini-cli
    • OpenClaw: npx skills add elevenlabs/skills --skill speech-to-text -a openclaw
    • Details: https://varg.ai/how-to/skills/elevenlabs-speech-to-text.md

Ask the person first

Put these choices in front of the person before spending anything. Paste the example link next to each option: people pick a look by seeing it.

Caption look?

Font?

Language?

How to add animated captions to a video: step by step

  1. Transcribe with word timestamps
  2. Fix names and terms in the transcript
  3. Pick one emphasis device: a coloured key word or one bold word, not both
  4. 2–5 words per caption, at most 2 lines, inside the middle band (clear of the top 15%, bottom 25%, right 10%)
  5. Preview over a phone-UI overlay, render, and ship the SRT too

What works now (researched 2026-10-27)

Burned-in captions are table stakes: 80% of viral-tier TikToks have them. The 2026 look is calmer than the 2023 Hormozi bounce. Big podcasts run sentence-case 1-2 line phrase captions, and fast edits use 2-3 word ALL-CAPS chunks with one key word coloured. Emoji on every word, every word popping, and text under the app's buttons look dated.

  1. Burn captions into every talking video, timed from word-level timestamps, and also ship the SRT. In OpusClip's Jan-Mar 2026 sample, 80.2% of viral-tier TikToks used burned-in captions and 78.6% used animated ones. (OpusClip, Anatomy of a viral TikTok in 2026)
  2. Keep captions in the middle band: no text in the top ~15%, the bottom ~20-25% or the right ~10% of a 1080x1920 frame. Put the caption block at about 35-70% of frame height and 80-90% of its width. TikTok's ad specs say text and logos must sit inside the safe zone, and text in the red top or bottom areas of the preview tool should be rejected. Shorts and Reels cover the same edges. Conbersa's cross-platform guide puts the caption block at 35-70% of frame height. (TikTok for Business, TopView ad specifications (safe zone))
  3. Show 2-5 words per caption, no more than 2 lines, and never faster than people can read. TikTok's creative guidance recommends 5-10 words per second for on-screen text and says to put the proposition in the first 3 seconds. (TikTok Ads Help, Creative best practices)
  4. Use one emphasis device per video: either one key word coloured per line, or one bold word at a time. Use designed or 3D type only for 1-3 hero lines, not the whole transcript. The highest-saved talk clips in Oct 2026 (Diary of a CEO, Riley Brown) use one restrained device. Caption-tool vendors report that the aggressive every-word animation of 2024 has given way to subtle active-word cues. (Diary of a CEO clip, Oct 2026 (observed frames))

Stopped working:

Prompts that work

Templates from the creators of the best current results and from the model guides. Fill in the {CAPS}.

Keyword-chunk captions for fast edits (agent)

The caption pass for b-roll-led shorts: word-timed 1-3 word ALL-CAPS chunks in one boxed look, one emphasis colour, placed off the face and out of the platform UI. Adapted from Herk Edit Kit, EDITING-PLAYBOOK.md (Captions section).

Add burned captions to {VIDEO} (1080x1920). Deliver {VIDEO}_captioned.mp4 plus an .srt from the same timings.
Timing: transcribe with word timestamps ({STT}, e.g. whisperX or ElevenLabs Scribe). Fix these names and terms first: {GLOSSARY}. Never spread a line's words evenly over its duration.
Chunks: 1-3 words, split on phrase boundaries, never across a sentence end. Each chunk appears 2 frames before its first word and hard-swaps to the next: no pop, no bounce, no emoji.
Type: {FONT} (default Montserrat ExtraBold), ALL CAPS, 62-64 px, white.
Emphasis, one device only: colour the key word (or the whole chunk) in {ACCENT_COLOR} on 25-45% of chunks: the claim, the number, the payoff.
Readability: every chunk sits in the same dark box with a thin light edge. Measure the pixels behind each caption; never white on light.
Placement: middle band only (nothing in the top 15%, bottom 25% or right 10%); on the seam in split layouts; never over the mouth or chin, least of all in the first second; a caption that crosses a cut moves to the new shot's spot on the cut frame.
QA: frame strips across every cut and every chunk change in the first 3 s, preview over a TikTok/Shorts UI overlay, then render.

Calm phrase captions in Remotion (agent)

Podcast and interview captions: sentence-case 3-6 word pages on a dark box, no per-word animation, with an optional opening headline bar. Adapted from iart-ai caption-animation skill (paging, type and safe-area table).

Burn podcast-style phrase captions onto {CLIP} (1080x1920) in Remotion.
1. Transcribe to word timestamps ({STT} or @remotion/install-whisper-cpp) and normalise to the Caption type {text, startMs, endMs}. Fix {GLOSSARY} before styling.
2. Page the words with createTikTokStyleCaptions({ combineTokensWithinMilliseconds: 1200 }) so each page holds 3-6 words on at most 2 lines; force a break at sentence ends and speaker changes.
3. Style: sentence case, {FONT} SemiBold 54-60 px, white, on a dark box (black at ~60%, radius 12 px, padding 12/20 px) or a soft shadow. No per-word pop, no colour highlight; at most a 100 ms fade between pages.
4. Place the block centred at ~62-70% of frame height, max 86% of the width, clear of the bottom 25% and the right-side icon rail.
5. Optional headline bar: for the first {3-5} s, a white bar in the upper third reading "{GUEST} on {CLAIM}" in black bold sans, then cut it.
6. Keep each clip's captions inside the same Sequence as its video so trims move both. Render, write the .srt from the same pages, and check 5 frames: no face covered, no third line, nothing under the UI.

Trending formats to remake

To remake one: download the example with the media-download skill, take a frame a second and the transcript, write a beat list (time, shot, camera, on-screen text, sound), keep what the format needs, swap in the person's product or character (never the creator's face, voice, logo or footage), show the beat list and stills before spending, then make it with the skill named below.

  1. Calm phrase captions (podcast style): White sentence-case phrases of 3-6 words on a dark box or shadow, 1-2 lines, in the lower-middle band. There is no per-word animation. Why it spreads: This is what Diary of a CEO, one of the biggest podcasts, ships on every Oct 2026 clip. These clips get 100k+ views with high save ratios. It reads as editorial and trustworthy for long answers. Keep: White sentence-case phrases of 3-6 words on a dark box or shadow, 1-2 lines, in the lower-middle band, with no per-word animation; swap the font and box colour for your brand. Make it with Remotion Captions (remotion-captions).
  2. One bold word at a time + headline bar: One outlined ALL-CAPS word at a time in the centre, with a white headline bar stating the clip's claim for the first few seconds. Why it spreads: The headline bar packages the claim inside the frame for muted viewers, and the single word keeps eyes moving. The Bruno Fernandes clip in this style reached 1.24M views. Keep: One outlined ALL-CAPS word at a time in the centre, synced to the exact word, plus a white headline bar stating the clip's claim for the first few seconds, then dropped; swap the claim and the font. Make it with Remotion Captions (remotion-captions).
    • Example to remake: @StevenBartlett on X, 2026-05-25, 1.2M views, 1K saves: 1:51 clip. Opens with a white headline bar ('Bruno Fernandes reveals Man United's biggest mistakes') under one-word ALL-CAPS captions; the bar drops after the first seconds and the single word keeps going.
  3. Keyword-highlight chunks: 2-3 word ALL-CAPS chunks with exactly one word in a colour or a coloured box. Used over fast b-roll edits. Why it spreads: It keeps a fast cut readable on mute and points to the one word that matters. It is the default look in agent-edited talking-head videos and in the caption styles HyperFrames copies from real Shorts. Keep: 2-3 word ALL-CAPS chunks with exactly one key word coloured, the same dark box on every chunk, sitting on the seam of split layouts over fast b-roll; swap the accent colour. Make it with Caption Animation (iart-caption-animation).
    • Example to remake: @rileybrown on X, 2026-10-18, 45K views, 638 saves: Talking head turned into a b-roll-led short by one Opus prompt: flub cuts, full-screen b-roll, speaker in the bottom third only while talking, 2-3 word ALL-CAPS captions with the key word in yellow. He lists all 15 pipeline steps.

Open-source repos

Set up varg

varg is one API key for the models these skills drive — Seedance 2.5, Kling 4, Veo 3.1, Wan 3, Nano Banana 2.1, GPT Image 2.5, ElevenLabs v4 and 200+ more — billed in credits, with a cost estimate before anything runs.