Skip to main content

Upload & Process

Upload (Direct Upload Flow)

1) Request upload URLs

Endpoint: POST /videos/upload-url

Body:

{
"fileName": "demo.mp4",
"allowPublicAccess": true,
"videoQuality": "standard"
}

Response contains assetId, resumableUploadURL, signedURL, contentType, bucketPath and expiresAt. Both URLs are valid for one week.

2) Upload the file

  • Large files: send the file in chunks to resumableUploadURL. After an interruption, ask how many bytes are stored and continue from there. See Uploading With a Pre-Signed URL.
  • Small files: PUT the whole file to signedURL with Content-Type set to contentType.

3) Wait for processing

Processing starts automatically. Poll details:

GET /videos/{assetId}/details

Notes

  • API requests use X-Api-Key.
  • Playback uses Edge Keys (see the playback controls docs).