Create a media upload
Reserve a media ID and get a presigned private staging upload URL. VIDEO accepts MP4 or QuickTime up to 2 GiB; IMAGE accepts JPEG up to 8 MiB. Omitted mediaType defaults to VIDEO. PUT the file bytes directly to uploadUrl within 300 seconds using every returned requiredHeaders value, then call POST /api/v1/media/uploads/confirm with fileKey. This request does not upload the file and its reserved mediaId is not ready for publishing yet. Confirm within 24 hours of creating the upload. The reserved file size counts toward the organization's media storage quota; expired unconfirmed uploads are cleaned up. Workspace selection comes from the API key.
Authorization
apiKey In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/media/uploads" \ -H "Content-Type: application/json" \ -d '{ "fileName": "string", "contentType": "video/mp4", "fileSize": 1, "mediaType": "IMAGE" }'{ "mediaId": "5a8ffac5-2288-485d-b463-90c3cd9941ad", "mediaType": "IMAGE", "fileKey": "string", "uploadUrl": "http://example.com", "expiresInSeconds": 300, "requiredHeaders": { "Content-Type": "video/mp4", "Content-Length": "string" }}