Skip to main content
POST
Upload media file or URL

Usage Examples

1. Upload from URL

Ingest a video from a public URL.

2. Upload Local File

Upload a video file directly. For local files up to 32 MB, multipart upload is supported directly. For larger local files, see Large Local File Upload.

3. Request a Signed Upload URL

For larger local files, request a signed upload URL first.
Then upload the file to upload_url, call notify_upload_complete, and poll get_upload_status until the upload is ready before generating with media_id. See Large Local File Upload for the full workflow.

Common Upload Errors

Example response:

Authorizations

X-API-Key
string
header
required

API key for authentication. Obtain from your team admin.

Example: X-API-Key: vsk_abc123def456ghi789jkl012mno345pqr678stu901vwx234yz

Body

input
Upload from URL · object
required

Response

Media uploaded successfully

media_id
string<uuid>

Unique identifier for the uploaded media

status
enum<string>

Upload status

Available options:
created,
existing,
pending_upload
duration_seconds
number | null

Video duration in seconds

frame_rate
number | null

Video frame rate (fps)

upload_url
string<uri> | null

Signed PUT URL returned for signed_url uploads

gcs_path
string | null

Storage path associated with the uploaded media

content_type
string | null

Content-Type associated with a signed upload