Skip to main content
POST
Create Editor Project
For AI agents: a documentation index is at /llms.txt. Every page is also available as markdown, just append .md to the URL.

Overview

Create an editor project: one video opened in the Reap editor, with no clipping, captions, or reframing applied first. Use it when you want to edit a video by hand, or have your AI agent edit it, without going through the Reap app to set the project up. When the project status becomes completed, the project is ready to edit. It holds one clip in draft. That clip has no rendered file yet, so its clipUrl is empty until the clip is exported from the editor.

Rate Limiting

This endpoint allows 10 requests per minute per API key. Each endpoint has its own budget, so this allowance is not shared with the rest of the API — see Rate limiting.
You must provide either sourceUrl or uploadId.

Video Requirements

Duration

Minimum: 3 seconds
Maximum: 15 minutes, or 30 minutes on a monthly or yearly Studio plan

File Size

Maximum: 2 GB, or 5 GB on a monthly or yearly Studio plan

Plan Limits

Editor projects need a paid plan. On the Free plan the request is refused. View pricing to compare plans.

Credits

An editor project costs 2 media credits per minute of video. The length is rounded to the nearest minute, with a minimum of 1 minute. The credits are charged when the project is created. Check your balance with Get Plan Usage.

Response

The response is the same project object that Create Captions returns.
string
Unique project identifier
string
Project title (usually the filename)
string
Thumbnail URL for the project
number
Length that is billed to your account, in minutes (rounded to the nearest minute, minimum 1)
string
Current processing status
  • processing - The video is being prepared for the editor
  • completed - The project is ready to edit. Nothing has been rendered yet
  • invalid - The video could not be processed. The project cannot be edited
  • cancelled - The project was cancelled before it was ready
string
Type of project (always “editor” for this endpoint)
string
Source of the video content
integer
Resolution of the project. It starts as the resolution you sent, or 1080. Once the video is prepared it is the resolution of the prepared video, which is lower when the source is smaller
string
Primary language of the video content
object
Video file metadata including duration, resolution, format, etc.
object
Project URLs and assets
integer
Unix timestamp when the project was created
integer
Unix timestamp when the project was last updated

Example Request

Example Response

Errors

Next Steps

After creating an editor project:
  1. Monitor progress with Get Project Status, or wait for the webhook. For an editor project, completed means ready to edit, not rendered.
  2. Open the project in the Reap editor and edit it, or have your AI agent do it. See Open The Editor From Your AI Agent.
  3. After the clip is exported from the editor, retrieve it with Get Project Clips.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
sourceUrl
string

URL of the video (alternative to uploadId)

uploadId
string

Upload ID from a previously uploaded file (alternative to sourceUrl)

language
string | null

Primary language of the video content (auto-detected if not provided)

resolution
enum<integer>
default:1080

Resolution of the project. Resolutions above 1080 require a Studio plan.

Available options:
720,
1080,
1440,
2160

Response

200 - application/json

Successful response

id
string
title
string
thumbnail
string
billedDuration
number
status
enum<string>
Available options:
queued,
prepped,
draft,
processing,
finalizing,
completed,
invalid,
expired,
failed,
error
projectType
enum<string>
Available options:
clipping,
captions,
reframe,
dubbing,
transcription,
editor
source
enum<string>
Available options:
Upload,
Youtube,
Vimeo,
TwitchVod,
Twitter,
RumbleEmbed,
Generic
genre
enum<string>
default:talking
Available options:
talking,
screenshare,
gaming
topics
string[]
clipDurations
integer[][]
selectedStart
number | null
selectedEnd
number | null
exportResolution
integer
exportOrientation
enum<string>
Available options:
landscape,
portrait,
square
captionsPreset
string | null
enableCaptions
boolean
enableEmojis
boolean
enableHighlights
boolean
language
string | null
dubbingLanguage
string | null
translateTranscription
boolean
translationLanguages
string[]
transcriptionScript
enum<string>
default:native
Available options:
native,
roman
metadata
object
urls
object

Presigned URLs for the project's assets. URLs expire — always use the most recent API response. The transcription_* subtitle/text exports are only present on transcription projects.

createdAt
integer
updatedAt
integer