Skip to main content
POST
/
uploads
/
video
/
get_upload_url
Create Video Upload URL
curl --request POST \
  --url https://api.example.com/uploads/video/get_upload_url
Limits: 5 GB, 1 hour duration

Request

curl -X POST "https://api.mosaic.so/uploads/video/get_upload_url" \
  -H "Authorization: Bearer mk_your_api_key"

Response

{
  "video_id": "7f8d9c2b-4a6e-8b3f-1d5c-9e2f3a4b5c6d",
  "upload_url": "https://storage.googleapis.com/...",
  "upload_fields": {
    "key": "...",
    "policy": "...",
    "x-goog-signature": "..."
  },
  "max_file_size_bytes": 5368709120
}

Upload File

POST as form-data. Fields first, then file:
import requests

resp = requests.post(
    "https://api.mosaic.so/uploads/video/get_upload_url",
    headers={"Authorization": "Bearer mk_your_api_key"}
)
data = resp.json()

with open("video.mp4", "rb") as f:
    requests.post(data["upload_url"], data=data["upload_fields"], files={"file": f})
Use video_id in update_params after finalizing the upload.