Posteady
Posteady Docs
APIMedia

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.

POST
/api/v1/media/uploads
AuthorizationBearer <token>

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"  }}