BlitzReels
BlitzReelsDocumentation

Captions API

Apply caption styles and edit caption words with the BlitzReels API.

Captions can be styled globally and edited down to the word level. This lets you highlight keywords, fix errors, and align captions to a brand style.

Endpoints

  • POST /v1/projects/{project_id}/captions
  • GET /v1/projects/{project_id}/captions
  • GET /v1/projects/{project_id}/captions/{caption_id}
  • PATCH /v1/projects/{project_id}/captions/{caption_id}
  • GET /v1/projects/{project_id}/captions/style
  • PATCH /v1/projects/{project_id}/captions/style
  • GET /v1/projects/{project_id}/captions/words
  • POST /v1/projects/{project_id}/captions/words/emphasis
  • POST /v1/projects/{project_id}/captions/words/style
  • POST /v1/projects/{project_id}/captions/words/text
  • POST /v1/projects/{project_id}/captions/words/retime
  • POST /v1/projects/{project_id}/captions/words/delete
  • POST /v1/projects/{project_id}/captions/words/merge
  • POST /v1/projects/{project_id}/captions/words/split
  • GET /v1/caption-looks
  • GET /v1/caption-themes
  • POST /v1/caption-themes
  • PATCH /v1/caption-themes/{theme_id}

Apply a Caption Style

Use a Caption Look ID to apply a consistent style.

Terminal
curl -X PATCH https://www.blitzreels.com/api/v1/projects/{project_id}/captions/style \
  -H "Authorization: Bearer $BLITZREELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "look_id": "editor-premium-lime" }'

Get Current Caption Style

Terminal
curl https://www.blitzreels.com/api/v1/projects/{project_id}/captions/style \
  -H "Authorization: Bearer $BLITZREELS_API_KEY"

List Caption Looks

Use this to discover the built-in looks meant for creators and agents.

Terminal
curl https://www.blitzreels.com/api/v1/caption-looks \
  -H "Authorization: Bearer $BLITZREELS_API_KEY"

List Custom Caption Themes

Use this before copying a previous video's theme settings or setting a workspace default.

Terminal
curl https://www.blitzreels.com/api/v1/caption-themes \
  -H "Authorization: Bearer $BLITZREELS_API_KEY"

Update Caption Style

Send only the fields you want to change (camelCase keys).

Terminal
curl -X PATCH https://www.blitzreels.com/api/v1/projects/{project_id}/captions/style \
  -H "Authorization: Bearer $BLITZREELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "style": {
      "fontSize": 52,
      "fontFamily": "Anton",
      "textStrokeEnabled": true,
      "textStrokeColor": "#000000",
      "textStrokeWidthPx": 6
    }
  }'

List Caption Words

Use this before word edits to get IDs and timing.

Terminal
curl "https://www.blitzreels.com/api/v1/projects/{project_id}/captions/words?limit=100" \
  -H "Authorization: Bearer $BLITZREELS_API_KEY"

Filter by exact word text or a caption timeline item:

Terminal
curl "https://www.blitzreels.com/api/v1/projects/{project_id}/captions/words?timeline_item_id={timeline_item_id}&match_text=IA" \
  -H "Authorization: Bearer $BLITZREELS_API_KEY"

List and Patch Caption Blocks

Use caption-block endpoints when you need the whole caption text, or when an edit changes token count.

Terminal
curl https://www.blitzreels.com/api/v1/projects/{project_id}/captions \
  -H "Authorization: Bearer $BLITZREELS_API_KEY"
Terminal
curl -X PATCH https://www.blitzreels.com/api/v1/projects/{project_id}/captions/{caption_id} \
  -H "Authorization: Bearer $BLITZREELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{ \"text\": \"Pourquoi l'IA écrit du code propre\" }"

Emphasize Words

You can target words by ID, exact text, or pattern.

Terminal
curl -X POST https://www.blitzreels.com/api/v1/projects/{project_id}/captions/words/emphasis \
  -H "Authorization: Bearer $BLITZREELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "emphasis": true, "match_pattern": "numbers" }'
Terminal
curl -X POST https://www.blitzreels.com/api/v1/projects/{project_id}/captions/words/emphasis \
  -H "Authorization: Bearer $BLITZREELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "emphasis": false, "word_ids": ["word-uuid"] }'

Update Word Styles

Style overrides are applied per word. Use clear_existing to reset old overrides.

Terminal
curl -X POST https://www.blitzreels.com/api/v1/projects/{project_id}/captions/words/style \
  -H "Authorization: Bearer $BLITZREELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "style": { "color": "#FFEE00", "isKeyword": true },
    "match_text": "important"
  }'

Update a Word Text

Use this for precise corrections when you know the word ID.

Terminal
curl -X POST https://www.blitzreels.com/api/v1/projects/{project_id}/captions/words/text \
  -H "Authorization: Bearer $BLITZREELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "word_id": "word-uuid", "new_text": "corrected" }'

Retime Words

Use this after splitting or inserting words when the displayed timing needs exact control.

Terminal
curl -X POST https://www.blitzreels.com/api/v1/projects/{project_id}/captions/words/retime \
  -H "Authorization: Bearer $BLITZREELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "updates": [
      { "word_id": "word-chatgpt", "start_seconds": 35.93, "end_seconds": 36.87 }
    ]
  }'

Delete, Merge, or Split Words

Use these when a correction changes token count, such as de Expo to d'Expo.

Terminal
curl -X POST https://www.blitzreels.com/api/v1/projects/{project_id}/captions/words/merge \
  -H "Authorization: Bearer $BLITZREELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "word_ids": ["word-de", "word-expo"], "text": "d'\''Expo" }'
Terminal
curl -X POST https://www.blitzreels.com/api/v1/projects/{project_id}/captions/words/delete \
  -H "Authorization: Bearer $BLITZREELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "word_ids": ["word-uuid"] }'
Terminal
curl -X POST https://www.blitzreels.com/api/v1/projects/{project_id}/captions/words/split \
  -H "Authorization: Bearer $BLITZREELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "word_id": "word-uuid", "words": ["Next", ".js"] }'

Tips

  • Prefer transcript bulk corrections for repeated typos.
  • Use timeline_item_id when editing captions for a specific clip.
  • Combine emphasis with word style overrides for stronger visual impact.