puras / Game Ad Studio

Auto-Caption Burner

Burns word-synced karaoke captions onto your video — the whole line stays on screen and each word lights up as it's spoken, the look built for muted TikTok, Reels, and Shorts feeds. Add your brand or product names and it spells them correctly every time.

Input
Output
Caption a UGC hook

Try it free — $10 free credits, no card.

Video to caption. Clear speech, short clips (≤60s) work best.

Loading…

No inputs handy? Try one of these

Everything you can do

What Auto-Caption Burner does

Word-synced karaoke captions

The line stays up and each word lights as it's spoken — the retention look for sound-off feeds.

Spells your terms right

Add brand and product names and they're captioned correctly every time.

Built for muted feeds

Tuned for TikTok, Reels, and Shorts, where most viewers watch without sound.

Callable from your product

Caption videos at scale from any language with one API key.

Who it's for

Built for teams who ship.

Social & UGC teams

Ship word-synced captions on every clip.

Performance marketers

Caption ad variations fast for sound-off feeds.

Developer & product teams

Burn captions into user or pipeline video programmatically.

Comparison

Auto-Caption Burner vs Captioning by hand

An API-native, usage-based alternative to Captioning by hand — your skill and prompt run server-side, called from your own product, billed per run.

Captioning by handpuras
CaptionsTime each line in an editorWord-synced karaoke, automatically
Brand termsFix misspellings by handSpelled right every time
VolumeOne video at a timeBatch over one API
PricingEditor timeUsage-based — pay per run, exact cost each time

Free to try

Try Auto-Caption Burner free — in your browser

The playground above is the real skill, not a demo. Load an example or bring your own inputs, sign in with Google, and run it — no credit card, no subscription, no install. After the free try, runs are usage-based and every run reports its exact cost.

Run it free

FAQ

Questions, answered.

What does the auto-caption generator produce?+

A video with word-synced karaoke captions burned in — the whole line on screen with each word lighting up as it's spoken.

Will it spell my brand and product names correctly?+

Yes — add your brand and product names and they're captioned correctly every time.

Why karaoke-style captions?+

They're the look built for muted TikTok, Reels, and Shorts feeds, where most viewers watch without sound.

Can I caption videos from my own app?+

Yes — it's API-native; call it with one API key to caption at scale.

Powered by puras

This skill is infrastructure.

Auto-Caption Burner runs on puras, the agentic backend — every skill here is a versioned, server-side capability your product can call with one API key: async, sync, or streamed. No model wiring, no queue, no servers.

Related skills

Mobile game UA creative

For developers

Run it from your own stack.

This skill is an API. One call runs the whole pipeline server-side as a long-running job and returns the result — from Python, plain HTTP, or an MCP-connected coding agent.

API access — MCP · Python SDK · cURL · JSON schemas
MCP· recommended for coding agents
claude mcp add --transport http puras https://mcp.puras.co/mcp

OAuth on first call — no key to paste. Then ask the agent to run auto-caption from skillpack puras/game-ad-studio.

CLI
pip install puras puras login # or set PURAS_API_KEY puras run puras/game-ad-studio/auto-caption -i key=value
Python SDK
import puras client = puras.Client() # PURAS_API_KEY from env result = client.run("puras/game-ad-studio/auto-caption", {"video":"https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/chordie_source.mp4","max_line_chars":32,"caption_position":"bottom"})
HTTP API· wait=true blocks until the job finishes
curl -X POST "https://api.puras.co/v1/jobs?skillpack=puras/game-ad-studio&wait=true" \ -H "Authorization: Bearer $PURAS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"skill":"auto-caption","inputs":{"video":"https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/chordie_source.mp4","max_line_chars":32,"caption_position":"bottom"}}'
Input schema (JSON Schema)
{
  "type": "object",
  "required": [
    "video"
  ],
  "properties": {
    "video": {
      "type": "video",
      "description": "Video to caption. Clear speech, short clips (≤60s) work best."
    },
    "captions": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "text"
        ],
        "properties": {
          "end": {
            "type": "number",
            "description": "Optional end time in seconds."
          },
          "text": {
            "type": "text",
            "description": "The caption line to show."
          },
          "start": {
            "type": "number",
            "description": "Optional start time in seconds. Omit to auto-distribute evenly across the clip."
          }
        }
      },
      "description": "Pre-written caption lines, for a video that has NO spoken audio (e.g. a visual montage carrying on-screen copy like \"Lvl 1 → Lvl 50\"). When set, transcription is skipped and these lines are burned directly with the same high-contrast renderer. Omit for spoken videos — those are transcribed automatically. Give timing per line, or omit it to auto-distribute evenly.\n"
    },
    "text_color": {
      "type": "color",
      "default": "#FFFFFF",
      "description": "Color of the caption line text."
    },
    "brand_terms": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 50,
        "minLength": 1
      },
      "maxItems": 100,
      "description": "Optional brand/product/proper-noun names to keep verbatim and spell correctly. One entry per name.",
      "uniqueItems": true
    },
    "language_code": {
      "type": "string",
      "maxLength": 8,
      "description": "Optional language hint (e.g. \"en\", \"tr\"). Empty = auto-detect."
    },
    "max_line_chars": {
      "type": "integer",
      "default": 32,
      "maximum": 60,
      "minimum": 12,
      "description": "Max characters per caption line. Smaller = snappier cuts."
    },
    "caption_position": {
      "enum": [
        "bottom",
        "center",
        "top"
      ],
      "type": "string",
      "default": "bottom",
      "description": "Where the caption band sits. Bottom by default."
    },
    "highlight_enabled": {
      "type": "boolean",
      "default": true,
      "description": "Light up the currently-spoken word with a colored pill (karaoke look). Turn off for a plain, static line in text_color with no per-word highlight.\n"
    },
    "highlight_bg_color": {
      "type": "color",
      "default": "#A855F7",
      "description": "Background color of the pill behind the currently-spoken word."
    },
    "highlight_text_color": {
      "type": "color",
      "default": "#FFFFFF",
      "description": "Text color of the currently-spoken word while it sits on the pill."
    }
  }
}
Output schema (JSON Schema)
{
  "type": "object",
  "properties": {
    "video_url": {
      "type": "video",
      "description": "Drive path to the captioned video; served to readers as a stable media URL. The playground renders it with a <video> player."
    },
    "transcript": {
      "type": "text",
      "description": "The transcript shown in the captions (with brand corrections applied, if any)."
    }
  }
}
SpecDocs

Try Auto-Caption Burner free.

Run it in the playground above — $10 free credit, no card. Every run returns an exact cost receipt.

Want this in your own pipeline? Deploy your own skill →