Authentication
This endpoint requires an API key.
Authorization: Bearer YOUR_API_KEY
Request Body
Name of the file to upload. Example: "my-image.png"
MIME type of the file. Allowed types: image/jpeg, image/png, image/webp, image/gif, video/mp4, video/webm, audio/mpeg, audio/wav.
Response
Presigned PUT URL. Upload your file here with a PUT request within 15 minutes.
CDN URL where the file will be accessible after upload. Use this URL in job inputs.
Unique identifier for the upload. Use to check status.
ISO 8601 timestamp when the file will be automatically deleted (60 minutes from creation).
Maximum allowed file size in bytes. Images: 10MB, Videos: 100MB, Audio: 50MB.
How It Works
- Call this endpoint to get a presigned upload URL
- Upload your file via PUT to the
uploadUrl (include Content-Type header)
- Use the
fileUrl in your job submission input
- File is automatically deleted after 60 minutes
Error Codes
| Code | Description |
|---|
VALIDATION_ERROR | Missing or invalid filename/contentType. |
INVALID_CONTENT_TYPE | Content type not in the allowed list. |
Examples
# Step 1: Get presigned URL
curl -X POST https://api.muvi.video/v1/uploads/presign \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filename": "my-image.png",
"contentType": "image/png"
}'
# Step 2: Upload file to the presigned URL
curl -X PUT "UPLOAD_URL_FROM_RESPONSE" \
-H "Content-Type: image/png" \
--data-binary "@my-image.png"
# Step 3: Use fileUrl in job submission
curl -X POST https://api.muvi.video/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/nano-banana-pro/edit-image",
"input": {
"image": "FILE_URL_FROM_RESPONSE",
"prompt": "Add a sunset background"
}
}'
Example Response
{
"success": true,
"data": {
"uploadUrl": "https://storage.muvi.video/temp/...",
"fileUrl": "https://assetsv1.cdn.muvi.video/temp/user_abc123/uuid_my-image.png",
"fileId": "3f44e3c6-acd9-4cc3-a91b-e63ec517b383",
"expiresAt": "2026-02-25T11:42:21.949Z",
"maxSize": 10485760
},
"requestId": "req_abc123"
}