Skip to main content
POST
Create a video

Authorizations

Authorization
string
header
required

A scoped token minted in Settings → API tokens. Send it as Authorization: Bearer tplt_… or X-API-Key: tplt_….

Headers

Idempotency-Key
string

Retry-safe key. The first response for a given key is cached for 24 hours and replayed on a repeat, with Idempotency-Replayed: true set.

Body

application/json
title
string
required

The video's title. Required.

Maximum string length: 255
folder_id
integer

Places the video in an existing folder of this workspace. Anything else is refused with 422 FOLDER_NOT_FOUND.

tags
string[]

Free-form tags for organizing videos in the dashboard.

Maximum string length: 64
player_version
enum<string>

Which player build the video uses. Defaults to the workspace's default new-video version.

Available options:
v1,
v2,
1,
2
copy_from
integer

Copy every option-group column and the player version from another video in this workspace. The new video still needs its own upload: source media is never copied.

plain_mode
boolean
default:false

true makes the video a silent looping clip with no overlays, prompts or controls. See the Plain mode guide.

Response

The video was created.

video
object

A video and its settings. A video carries around thirty option-group columns (style, playback, autoplay, captions, chapters, CTA cards, playlist, and more) that are not itemized here. Read GET /videos/{video}/settings for the full set, or the dedicated endpoint for the group you care about (captions, chapters, AI segments, CTA cards).