Cut.ProDocs
Videos

Start an upload

Returns the generated video_id plus whatever the file's size requires to upload it directly to storage, then call POST /videos/upload/complete to register the upload and get the credit cost.

When mode is single, PUT the bytes to upload_url with the same Content-Type you declared here.

When mode is multipart the file is past the storage provider's single-PUT ceiling: split it into part_size-byte chunks and PUT each one to the matching entry of part_urls (index 0 is part 1, the last part may be shorter). Collect each response's ETag header and post them to POST /videos/upload/multipart/complete.

Max file size comes from your plan — a FILE_TOO_LARGE response reports the effective ceiling in max_size. Extensions: .mp4, .mov, .webm, .mkv.

X-Api-Key<token>

In: header

Request Body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

POST
/videos/upload
curl -X POST "https://example.com/videos/upload" \  -H "Content-Type: application/json" \  -d '{    "file_name": "string",    "file_size": 0  }'
{  "mode": "single",  "video_id": "string",  "upload_url": "string",  "expires_in": 0}