Agent Caption — effect 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.
Local captions in any language: Whisper words, forced-aligned timing, SRT/VTT, burned styles or a GSAP captions.js.
- Type: Effect · Captions & subtitles
- Slug:
agent-caption - Status: beta
- Publisher: Ali Hamza Kamboh (community)
- License: MIT
- Source: https://github.com/ahkamboh/agent-caption
- Works in: Claude Code, Cursor, Codex
- Requires: Python 3.10+, ffmpeg (libass optional), About 4 GB of disk for models, Java 8+ only for --grammar
- Cost: Free — runs locally; models download once
- Adoption: 41 GitHub stars (GitHub, 2026-10-26)
What it does
A Python toolkit an agent drives from SKILL.md: Whisper large-v3 (faster-whisper) writes the words, WhisperX or Meta's MMS_FA aligner times every word on the waveform, and caption.py burns one of 15 styles with ffmpeg (falling back to Pillow overlays when ffmpeg lacks libass) or just writes .srt/.vtt. scripts/caption.py emits a captions.js layer (word, line or karaoke presets such as hormozi, pill, neon) that mounts on a GSAP timeline in an HTML composition, and Argos Translate makes offline translated subtitle tracks. Extras include --script alignment of known lyrics, Demucs vocal isolation for songs, a glossary prompt and a deterministic QA report. Setup is heavy (torch, WhisperX and about 4 GB of models) and Hinglish/code-switched speech is its focus.
Use when
- Caption a video or song in any language, fully offline
- Word timing from forced alignment instead of raw ASR timestamps
- Hinglish or code-switched captions
- Animated word or karaoke captions for an HTML/GSAP composition
- Export SRT/VTT and translated subtitle tracks
Not for
- Hand-timed captions or lead/lag offsets (the skill forbids them)
- Cloud transcription (use elevenlabs/speech-to-text or Gladia)
Install
- Claude Code:
git clone https://github.com/ahkamboh/agent-caption && cd agent-caption && python setup.py - Codex:
git clone https://github.com/ahkamboh/agent-caption && cd agent-caption && python setup.py - Cursor:
git clone https://github.com/ahkamboh/agent-caption && cd agent-caption && python setup.py
Models it drives: whisper-large-v3, whisperx, mms-fa, htdemucs
Example output
https://skills.varg.ai/previews/agent-caption.mp4 — The repo's demo video: the creator talks to camera while captions generated locally by the skill switch language line by line (English, then Spanish), with the language tag on top. First 8 s of 58.5 s. (credit: Ali Hamza Kamboh (agent-caption), https://github.com/ahkamboh/agent-caption#readme)
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.
Run the generation on 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.
- Claude Code:
claude plugin marketplace add vargHQ/skills && claude plugin install varg@varg(skill + hosted MCP) - Codex, Cursor, Gemini CLI, OpenClaw:
npx skills add vargHQ/skills --skill varg-ai -a <agent> -y - Claude.ai, ChatGPT, any MCP client: connect
https://mcp.varg.ai/mcp - API key: https://varg.ai/dashboard/api · Model specs: https://varg.ai/models/llms.txt