Claude Skill MartBrowse skillsQuick linesLearn by videoTerminal guideWhat is a Skill?
← Back to list

caption-burn

Transcribes the finished vertical video's own audio and burns 1–3 word captions timed to what is actually said.

Image & VideoIntermediate★ 1,226⑂ 208AI score 8/10Last updated: Sep 28, 2026

What it does

  • transcribe.py transcribes the finished render's audio for word-level timings (fal Whisper via the GooseWorks proxy, billed in cents).
  • captions.py burns 1–3 words at a time using Pillow + ffmpeg — no libass required.
  • Three looks: plate (white bold on a dark rounded plate), outline (outlined, no plate), serif-word (one heavy-serif word at a time).
  • Placement: pinned to a split-screen seam (plate 25% above / 75% below the line) or at a fixed height via --anchor fixed --y 0.62.
  • Optional red all-caps hook card for the opening seconds (--card) and yellow keyword highlighting (--highlight).
  • For voice-free formats, plates.py burns per-beat black caption blocks into the emptiest band of the frame.
  • The final caption (the CTA) holds to the last frame.

Who it's for

  • Performance marketers and editors shipping vertical ads for Reels, Shorts and TikTok
  • Anyone who needs captions matched to real speech rather than script estimates
  • Creative teams running Python/ffmpeg automation pipelines

Examples

  1. python transcribe.py --media reel.mp4 --out reel.words.json, then python captions.py --video reel.mp4 --beats cutlist.aligned.json --words reel.words.json --out final.mp4.
  2. Highlight the brand name in yellow: --style outline --highlight Brand.
  3. Silent product walkthrough: python plates.py --video walk.mp4 --beats cutlist.json --out captioned.mp4 --logo logo.png.

· · · Install guide · · ·

Try it now, no install

Paste this into Claude to use the skill without installing anything.

Read the instructions in this file and follow them to help me:
https://raw.githubusercontent.com/gooseworks-ai/goose-skills/HEAD/skills/ads/capabilities/caption-burn/SKILL.md

What I want: (describe your task here)

If Claude can't open the link, open it yourself and paste the contents instead.

↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.

Install in the Claude app (no terminal)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
↓ Download ZIP
Install in Claude Code

Let Claude do it — paste this into Claude Code

Install the skill I found on Claude Skill Mart.
Copy the skills/ads/capabilities/caption-burn folder from the GitHub repo gooseworks-ai/goose-skills into my ~/.claude/skills/caption-burn/.
When it's done, tell me in one line what this skill can do.

Install with a command instead

git clone https://github.com/gooseworks-ai/goose-skills.git && mkdir -p ~/.claude/skills && cp -r goose-skills/skills/ads/capabilities/caption-burn ~/.claude/skills/

⚠ This is a third-party skill. Check the source repository before installing.

  1. Open a terminal.
  2. Clone the repo: git clone https://github.com/gooseworks-ai/goose-skills.git
  3. Create the skills folder: mkdir -p ~/.claude/skills
  4. Copy the skill: cp -r goose-skills/skills/ads/capabilities/caption-burn ~/.claude/skills/
  5. Install prerequisites: ffmpeg (macOS: brew install ffmpeg) and pip install pillow.
  6. Transcription needs GooseWorks proxy credentials and costs a few cents. Without them, run without --words to preview placement only — never to ship.
  7. Restart Claude Code and ask something like "burn captions onto this finished vertical ad" to trigger the skill.