Create a video upload
POST/api/video
Creates a video record and returns a presigned PUT URL plus a server-chosen contentType (from the filename extension). Upload the original file with HTTP PUT to uploadUrl, using exactly the returned Content-Type header value. Then call POST /api/video/{id}/complete-upload to verify the object and queue transcoding. Output resolutions are MP4. isPublic controls whether playback URLs are public or time-limited signed URLs.
Request
Header Parameters
Hyperserve api key
- application/json
Body
required
Possible values: non-empty and <= 255 characters
Possible values: <= 5368709120
Possible values: [144p, 240p, 360p, 480p, 720p, 1080p, 1440p, 4k, 8k], >= 1
custom_user_metadata
object
Responses
- 201
Video record created. Upload the file to the provided URL, then call complete-upload.
- application/json
- Schema
- Example (from schema)
Schema
Video id; use in complete-upload and subsequent API calls
Presigned PUT URL for the original file (expires after a short time)
Exact value to send as the Content-Type header on the presigned PUT (derived from filename extension)
resolutions
object
required
Per-resolution status; all start as pending_upload until processing completes
property name*
object
Possible values: [pending_upload, processing, ready, fail]
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"uploadUrl": "string",
"contentType": "string",
"isPublic": true,
"resolutions": {}
}