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
Direct URL to a video file (alternative to uploadId)
Upload ID from a previously uploaded file (alternative to sourceUrl)
Caption style preset ID. Use Get All Presets to retrieve available presets. Defaults to “system_beasty” if not specified.
Primary language of the video content for transcription. Auto-detected if not provided. Use Get Translation Languages for supported codes.
Whether to add contextual emojis to captions
Whether to highlight keywords in captions
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
Format MP4 or MOV with valid video and audio streams
Audio Quality Clear speech produces best transcription results
Plan Limits
Plan Max Resolution Concurrent Projects Creator 1080p 5 Studio 4K (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
Unique project identifier
Project title (usually the filename)
Thumbnail URL for the project
Duration in seconds that will be billed to your account
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
Type of project (always “captions” for this endpoint)
Source of the video content
user_upload - Uploaded file
external - External URL
Caption style preset ID used
Whether captions are enabled (always true for caption projects)
Whether emojis are added to captions
Whether keyword highlighting is enabled
Primary language of the video content
Whether transcription will be translated
Array of languages for translation
Video file metadata including duration, resolution, format, etc.
Project URLs and assets (populated when processing completes)
Unix timestamp when the project was created
Unix timestamp when the project was last updated
Example Request
cURL with Upload
cURL with URL
JavaScript
Python
PHP
Go
Java
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
Audio Extraction - Audio is extracted from the video file
Transcription - AI transcribes the speech with precise timing
Caption Generation - Captions are formatted with your chosen style
Enhancement - Emojis and highlights are added if enabled
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:
Monitor progress with Get Project Status
Retrieve the captioned video with Get Project Clips
Download and distribute your captioned content