Create Video Upload
Mint a presigned PUT URL the browser can upload a video directly to.
Flow (PR B3): dashboard calls this → gets {upload_url, s3_key} → PUTs the file straight to S3 over XHR (with onprogress for the upload progress bar) → then POSTs /v1/video-jobs with source_kind='upload' + the same s3_key. Backend never streams the video through itself — 2 GB through a Python uvicorn worker would pin it for minutes.
The S3 key shape is owned by video_upload_s3_prefix in the service module so this minter and the job-create validator both agree on the namespace (review-fixup contract from PR #756).
Filename gets sanitized to prevent path-traversal / weird-char surprises in S3 listings — the original filename is also stored in the job row as part of the slug.
Request body
Response
Successful Response
Changes
No recorded changes to this endpoint across all 1 revision of this API.