Prerequisites
- A MediaMagic workspace and API key
- curl, Python, or Node.js installed
- A media file to upload (video, audio, or document)
Step 1: Generate an upload URL
First, generate a presigned URL for uploading your file:The presigned URL expires after one hour. Request it shortly before you upload, then
PUT the file straight to Azure Blob Storage.Step 2: Upload your file
Use the presigned URL to upload your file directly to Azure Blob Storage:Step 3: Create a submission
Now create a submission with your uploaded asset.sidekickIds is required — at least one sidekick must run. Fetch the IDs available to your workspace from List available sidekicks.
Asset objects only accept
blobPath (and an optional previousSubmissionId for versioning). Do not send filename or contentType here — those come from the upload step.201 Created):
queued: its assets are accepted and waiting for a free review slot. Processing begins as slots free up — usually within seconds.
Step 4: Check the status
Poll the submission endpoint to see when processing completes. Note there is no/status suffix — you read the status from the submission resource itself:
200 OK):
Step 5: Get the results
Once the asset reachescomplete, retrieve its result by fetching the asset directly (no /results suffix):
200 OK):
What’s next?
- Read about Core Concepts to understand the data model
- Check out File Upload Guide for handling large files
- Learn about Webhooks for real-time updates
- See Error Handling for common issues