Skip to main content
POST
Start a video upload

Authorizations

Authorization
string
header
required

Paste your VTurb API token (vt_...). Sent as Authorization: Bearer <token>.

Body

application/json
name
string
required

Display name for the video.

Maximum string length: 255
Example:

"Landing hero"

filename
string
required

Original filename; only its extension is kept for the stored object.

Maximum string length: 255
Example:

"hero.mp4"

type
enum<string>
required

Video MIME type (allowlist); set on the stored object.

Available options:
video/mp4,
video/quicktime,
video/webm
Example:

"video/mp4"

size
integer<int64>
required

Declared size of the file in bytes (max 15GB). The upload is split into part_size slices — one presigned URL per part in upload.parts.

Required range: 1 <= x <= 16106127360
Example:

12582912

folder_id
string

Optional folder to place the video in.

part_size
integer<int64>

Optional slice size in bytes (default 1GB). Each part URL only accepts exactly this many bytes (the last part takes the remainder). Browser clients usually want smaller slices.

Required range: 10485760 <= x <= 5368709120
Example:

104857600

Response

accepts an optional part_size and slices the upload with it

id
string
required
status
enum<string>
required
Available options:
awaiting_upload,
processing,
ready,
expired
upload
object
required
complete_url
string
required