Finish upload
finalize_video_uploadFinalizes an upload started with create_video_upload. Call this after PUTting bytes to the presigned URL. Returns { status: 'ready', video_upload_id, filename, content_type, size_bytes } once the bytes are in S3, or { status: 'reserved' } if the PUT hasn't landed yet (retry in a few seconds). Errors: unsupported file type (only mp4/mov/webm/mkv/avi videos and jpeg/png/webp/gif/heic images are allowed) or file too large (video 950 MB, image 20 MB). The upload also finalizes on its own via a background timer within a few minutes of the PUT, so calling this is optional but faster.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| upload_id | Yes | The upload_id returned by create_video_upload (a video_settings row id). | |
| workspace_id | No | Optional. Workspace the upload belongs to; found from upload_id when left out. If given, it must match the workspace_id passed to create_video_upload. | |
| idempotency_key | No | Optional client-generated key (e.g., a UUID) to make retries safe. Identical calls with the same key within 10 minutes return the original result instead of running the write twice. |