Skip to main content
POST
Start a resumable upload

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.

Path Parameters

video
integer
required

The video's numeric ID.

Body

application/json
filename
string
required
Maximum string length: 255
size
integer
required

The file size in bytes. Capped at 5 GB (5,368,709,120 bytes), the same ceiling as the dashboard.

Required range: 1 <= x <= 5368709120
mime_type
enum<string>
required
Available options:
video/mp4,
video/quicktime,
video/x-m4v,
video/x-msvideo,
video/webm,
video/ogg,
video/3gpp,
video/x-matroska
orientation
enum<string>
default:landscape

Which of the video's two orientation slots this upload fills.

Available options:
landscape,
portrait

Response

The upload session.

upload_id
string
Example:

"tpup_8f2c9a1b3e4d5f607182930a4b5c6d7e"

chunk_size
integer

Bytes to send per PATCH chunk (8,388,608, fixed by the server). The last chunk is whatever is left.

Example:

8388608

offset
integer

Bytes received so far. 0 at init.

size
integer

The size you declared.

expires_at
string<date-time>

The session and its chunks expire after this time.

upload_url
string<uri>

Where to PATCH chunks.