Video · Audio · Images

Turn user uploads into
ready-to-use media.

Transcode video, extract audio, transform images, and generate transcripts through one asynchronous API. You build the experience. We process the media.

No signup required
Usage-based pricing — Standard from $0.02, Premium from $0.05No FFmpeg servers to run
Interactive previewPre-rendered examples
MP4 · H.264
POST /v1/jobs
{
  "source": "https://mediaruntime.com/media/showcase/bunny-source.mp4",
  "outputs": [
    "video.web"
  ]
}

Preview here, then open this same sample and its settings in the sandbox.

FROM UPLOAD TO SOMETHING USEFUL

Less imagining. More seeing.

Explore an image crop and follow a transcript as the audio plays. These are downloadable media files, ready to inspect.

Big Buck Bunny standing in a sunlit meadow
SourceOutput

IMAGE DERIVATIVES

A perfect fit for every surface.

Preserve the full frame or fill a square. Make the same source work across your app.

Run this example
0:00 / 0:09
Every upload has a next chapter, turn a video into a story, an image into a perfect fit, and a voice into words you can search, build what happens next.

Original English voice sample · synthetic narration

AUDIO + TIMED TEXT

Give every voice a searchable story.

Pair playable audio with timed text for captions, search, and accessible experiences.

Build media workflows without building media infrastructure.

API Docs

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 MP4, HLS, or MPEG-DASH, with an encoded fallback when stream copy is incompatible.

Content Moderation

Premium safety checks for sexual, violent, and dangerous content, with observational report mode or fail-closed block mode before transcoding.

Pro-Grade Codec LibraryH.264HEVCAV1VP9ProRes

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. 1

    Provide a fetchable source URL

    Use a public URL or a time-limited signed read URL from storage you already use.

  2. 2

    Queue the media job

    Send the source URL in source with the output presets you want back.

  3. 3

    Handle the terminal webhook

    Persist job_id, verify the signed event, and consume the returned output bundle.

bash
# Submit a public or time-limited signed media URL
curl -X POST https://mediaruntime.com/v1/jobs \
  -H "X-API-Key: $MEDIARUNTIME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source": "https://cdn.example.com/media/trailer.mp4",
    "outputs": ["video.web"]
  }'
# -> { "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.