POST
/
api
/
v1
/
automation
/
create-clips
Create Clips
curl --request POST \
  --url https://public.reap.video/api/v1/automation/create-clips \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "sourceUrl": "<string>",
  "uploadId": "<string>",
  "reframeClips": true,
  "exportOrientation": "<string>",
  "exportResolution": 123,
  "captionsPreset": "<string>",
  "enableEmojies": true,
  "enableHighlights": true,
  "language": "<string>",
  "translationLanguage": "<string>",
  "genre": "<string>",
  "selectedStart": 123,
  "selectedEnd": 123
}'
{
  "id": "<string>",
  "title": "<string>",
  "thumbnail": "<string>",
  "billedDuration": 123,
  "status": "<string>",
  "projectType": "<string>",
  "source": "<string>",
  "genre": "<string>",
  "topics": [
    {}
  ],
  "clipDurations": [
    {}
  ],
  "selectedStart": 123,
  "selectedEnd": 123,
  "reframeClips": true,
  "exportResolution": 123,
  "exportOrientation": "<string>",
  "captionsPreset": "<string>",
  "enableCaptions": true,
  "enableEmojies": true,
  "enableHighlights": true,
  "language": "<string>",
  "dubbingLanguage": "<string>",
  "translateTranscription": true,
  "translationLanguages": [
    {}
  ],
  "metadata": {},
  "urls": {},
  "createdAt": 123,
  "updatedAt": 123
}

Overview

Transform long-form videos into engaging short clips using AI. This endpoint analyzes your video content and automatically extracts the most engaging moments, creating viral-ready clips optimized for social media platforms.

Rate Limiting

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

Request Body

sourceUrl
string
YouTube URL to process (alternative to uploadId)
uploadId
string
Upload ID from a previously uploaded file (alternative to sourceUrl)
reframeClips
boolean
default:"false"
Whether to automatically reframe clips for different aspect ratios
exportOrientation
string
default:"landscape"
Output orientation for the clips
exportResolution
integer
default:"720"
Output resolution for the clips
captionsPreset
string
Caption style preset ID (use null to disable captions)
enableEmojies
boolean
default:"false"
Whether to add emojis to captions
enableHighlights
boolean
default:"false"
Whether to highlight keywords in captions
language
string
Primary language of the video content (auto-detected if not provided)
translationLanguage
string
Language to translate captions to
genre
string
default:"talking"
Video genre for better AI analysis
selectedStart
number
Start time in seconds for processing (processes entire video if not specified)
selectedEnd
number
End time in seconds for processing (processes entire video if not specified)
You must provide either sourceUrl or uploadId, but not both.

Video Requirements

Duration

Minimum: 2 minutes
Maximum: 3 hours

File Size

Maximum: 5 GB

Format

MP4 or MOV with valid video streams

Content Type

Works best with dialogue-rich content

Plan Limitations

PlanMax ResolutionFeatures
Free720pBasic clipping, limited minutes
Creator1080pAll features, more minutes
Studio4K (2160p)All features, unlimited processing

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 analyzed and clips are being generated
  • completed - All clips have been generated successfully
  • failed - Processing failed due to an error
projectType
string
Type of project (always “clipping” for this endpoint)
source
string
Source of the video content
  • user_upload - Uploaded file
  • youtube - YouTube URL
genre
string
Video genre used for AI analysis
topics
array
Array of identified topics in the video
clipDurations
array
Array of clip duration preferences
selectedStart
number
Start time in seconds for processing (null if entire video)
selectedEnd
number
End time in seconds for processing (null if entire video)
reframeClips
boolean
Whether clips will be automatically reframed
exportResolution
integer
Output resolution for the clips
exportOrientation
string
Output orientation for the clips
captionsPreset
string
Caption style preset ID (null if captions disabled)
enableCaptions
boolean
Whether captions are enabled
enableEmojies
boolean
Whether emojis are added to captions
enableHighlights
boolean
Whether keyword highlighting is enabled
language
string
Primary language of the video content
dubbingLanguage
string
Target dubbing language (null if not applicable)
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-clips" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "uploadId": "65f1a2b3c4d5e6f7a8b9c0d1",
    "genre": "educational",
    "exportResolution": 1080,
    "exportOrientation": "portrait",
    "reframeClips": true,
    "captionsPreset": "system_beasty",
    "enableEmojies": true,
    "enableHighlights": true,
    "language": "en"
  }'

Example Response

Processing Workflow

  1. Upload Analysis - Video is analyzed for content, speakers, and key moments
  2. AI Clipping - Our AI identifies the most engaging segments for clips
  3. Processing - Clips are generated with your specified settings
  4. Completion - Use Get Project Status to monitor progress
  5. Download - Retrieve clips using Get Project Clips

Best Practices

  • Content Quality: Videos with clear speech and engaging content produce better clips
  • Duration: Longer videos (10+ minutes) typically yield more clip options
  • Genre Selection: Choose the correct genre for optimal AI analysis
  • Caption Presets: Use captions for better engagement on social platforms
  • Resolution: Higher resolutions are better for professional content but take longer to process

Use Cases

Content Creators

Turn long-form content into social media clips

Educators

Extract key teaching moments from lectures

Marketers

Create promotional clips from webinars and presentations

Podcasters

Generate video clips from audio-only content with visualizations