Skip to main content
POST
https://public.reap.video
/
api
/
v1
/
automation
/
create-captions
Create Captions
curl --request POST \
  --url https://public.reap.video/api/v1/automation/create-captions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "sourceUrl": "<string>",
  "uploadId": "<string>",
  "captionsPreset": "<string>",
  "language": "<string>",
  "translationLanguage": "<string>",
  "enableEmojis": true,
  "enableHighlights": true,
  "resolution": 123
}
'
{
  "id": "<string>",
  "title": "<string>",
  "thumbnail": "<string>",
  "billedDuration": 123,
  "status": "<string>",
  "projectType": "<string>",
  "source": "<string>",
  "captionsPreset": "<string>",
  "enableCaptions": true,
  "enableEmojis": true,
  "enableHighlights": true,
  "language": "<string>",
  "translateTranscription": true,
  "translationLanguages": [
    {}
  ],
  "metadata": {},
  "urls": {},
  "createdAt": 123,
  "updatedAt": 123
}

Overview

Add professional captions to your videos using AI-powered transcription. This endpoint generates accurate captions with various styling options, emoji support, and keyword highlighting. Perfect for making content accessible and engaging on social media platforms.

Rate Limiting

This endpoint is rate limited to 10 requests per minute per API key.

Request Body

sourceUrl
string
Direct URL to a video file (alternative to uploadId)
uploadId
string
Upload ID from a previously uploaded file (alternative to sourceUrl)
captionsPreset
string
Caption style preset ID. Use Get All Presets to retrieve available presets. Defaults to “system_beasty” if not specified.
language
string
Primary language of the video content for transcription. Auto-detected if not provided. Use Get Translation Languages for supported codes.
translationLanguage
string
Language code to translate captions to. Use Get Translation Languages for supported codes.
enableEmojis
boolean
default:"false"
Whether to add contextual emojis to captions
enableHighlights
boolean
default:"false"
Whether to highlight keywords in captions
resolution
integer
default:"720"
Output resolution for the video (only applicable when sourceUrl is provided)
You must provide either sourceUrl or uploadId, but not both.

Video Requirements

Duration

Minimum: 3 seconds
Maximum: 15 minutes

File Size

Maximum: 5 GB

Format

MP4 or MOV with valid video and audio streams

Audio Quality

Clear speech produces best transcription results

Plan Limits

PlanMax ResolutionConcurrent Projects
Creator1080p5
Studio4K (2160p)15
Higher-tier plans allow you to process more videos simultaneously and export at higher resolutions.
The Automation API requires an active subscription. View pricing to compare plans.

Response

id
string
Unique project identifier
title
string
Project title (usually the filename)
thumbnail
string
Thumbnail URL for the project
billedDuration
number
Duration in seconds that will be billed to your account
status
string
Current processing status
  • processing - Video is being transcribed and captions are being generated
  • completed - Captions have been generated successfully
  • failed - Processing failed due to an error
projectType
string
Type of project (always “captions” for this endpoint)
source
string
Source of the video content
  • user_upload - Uploaded file
  • external - External URL
captionsPreset
string
Caption style preset ID used
enableCaptions
boolean
Whether captions are enabled (always true for caption projects)
enableEmojis
boolean
Whether emojis are added to captions
enableHighlights
boolean
Whether keyword highlighting is enabled
language
string
Primary language of the video content
translateTranscription
boolean
Whether transcription will be translated
translationLanguages
array
Array of languages for translation
metadata
object
Video file metadata including duration, resolution, format, etc.
urls
object
Project URLs and assets (populated when processing completes)
createdAt
integer
Unix timestamp when the project was created
updatedAt
integer
Unix timestamp when the project was last updated

Example Request

curl -X POST "https://public.reap.video/api/v1/automation/create-captions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "uploadId": "65f1a2b3c4d5e6f7a8b9c0d1",
    "captionsPreset": "system_beasty",
    "language": "en",
    "enableEmojis": true,
    "enableHighlights": true
  }'

Example Response

Processing Workflow

  1. Audio Extraction - Audio is extracted from the video file
  2. Transcription - AI transcribes the speech with precise timing
  3. Caption Generation - Captions are formatted with your chosen style
  4. Enhancement - Emojis and highlights are added if enabled
  5. Rendering - Final video is rendered with embedded captions

Caption Features

AI Transcription

Accurate speech-to-text with word-level timing

Style Presets

Multiple caption styles for different content types

Emoji Support

Contextual emojis added automatically

Keyword Highlights

Important words highlighted for emphasis

Best Practices

  • Audio Quality: Clear audio produces more accurate transcriptions
  • Language Selection: Specify the language for better accuracy
  • Style Matching: Choose presets that match your brand and content type
  • Translation: Use translation for multilingual audiences

Use Cases

Video Platforms

Auto-generate captions for all uploaded content at scale

Accessibility Compliance

Meet accessibility requirements with accurate, styled captions

Social Media Tools

Add caption generation to your social media management platform

Learning Management

Caption educational content for better comprehension and searchability

Next Steps

After creating a caption project:
  1. Monitor progress with Get Project Status
  2. Retrieve the captioned video with Get Project Clips
  3. Download and distribute your captioned content