Media infrastructure for
apps with user uploads.
One API for video, audio, and images: transcode, moderate, and deliver user-generated media without running your own FFmpeg fleet.
Media processing capabilities
Automated Tier Routing
Our engine analyzes job metadata in real-time. It automatically routes simple 1:1 transcodes to Standard while escalating complex multi-output AI jobs to Premium.
Smart Multiplexing
Avoid redundant encoding. We transmux compatible streams into HLS/Dash containers instantly to save on compute costs.
Neural Image Ops
Premium tier access to AI-driven face detection, smart cropping, and background removal directly within your media pipeline.
Content Moderation
Premium tier: Automated safety checks with NSFW detection, violence assessment, and custom policy enforcement. Get actionable verdicts in real-time.
Pro-Grade Codec Library
From standard H.264 to high-efficiency HEVC and AV1. Deliver the highest visual quality at the lowest possible bitrates across all device tiers.
Quickstart
From media URL to finished output.
MediaRuntime is asynchronous. Submitting a job returns QUEUED immediately, and finished outputs arrive later on your signed webhook.
- 1
Provide a fetchable source URL
Use a public URL or a time-limited signed read URL from storage you already use.
- 2
Queue the media job
Submit the source as file_url with the output presets you want back.
- 3
Handle the terminal webhook
Persist job_id, verify the signed event, and consume the returned output bundle.
# Submit a public or time-limited signed media URL
curl -X POST https://mediaruntime.com/v1/transcode \
-H "X-API-Key: $MEDIARUNTIME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"file_url": "https://cdn.example.com/media/trailer.mp4",
"outputs": [{ "type": "mp4", "preset": "mp4_720p_h264_aac" }]
}'
# -> { "job_id": "job_...", "status": "QUEUED" }Already have a media URL? No upload is required. The full docs also cover optional upload targets for local bytes, webhook payloads, and Node, Python, Go and PHP.