media.fireweed-root.top v1 · private beta

Video transcoding & streaming infrastructure as an API

Send a source file, get adaptive streams back. MediaFlow handles ingest, parallel transcoding, packaging and edge delivery, so your team ships video features instead of encoding pipelines.

# Create a transcoding job
curl -X POST https://media.fireweed-root.top/v1/jobs \
  -H "Authorization: Bearer $MEDIAFLOW_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source": "s3://my-bucket/raw/interview.mov",
    "profile": "hls_adaptive",
    "outputs": ["1080p", "720p", "480p"]
  }'

# 202 Accepted
{ "id": "job_8f3a21c9", "status": "queued" }
const res = await fetch("https://media.fireweed-root.top/v1/jobs", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.MEDIAFLOW_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    source: "s3://my-bucket/raw/interview.mov",
    profile: "hls_adaptive",
  }),
});

const job = await res.json();
console.log(job.id, job.status); // job_8f3a21c9 queued
import os, requests

r = requests.post(
    "https://media.fireweed-root.top/v1/jobs",
    headers={"Authorization": f"Bearer {os.environ['MEDIAFLOW_KEY']}"},
    json={
        "source": "s3://my-bucket/raw/interview.mov",
        "profile": "hls_adaptive",
    },
)
print(r.json())  # {'id': 'job_8f3a21c9', 'status': 'queued'}
4K · 60fpsmax resolution
HLS · DASHoutput packaging
H.264 · HEVC · AV1codecs
REST · WSinterfaces
Platform

Built for modern media pipelines

Everything between "file uploaded" and "playing on the viewer's screen", behind one consistent API.

Lightning Fast

Files are split into segments and encoded in parallel on GPU-accelerated workers, so long sources finish in a fraction of real time.

parallel segmentsGPU encodeper-title

Secure & Reliable

TLS everywhere, scoped API keys, signed playback URLs and encrypted storage. Failed segments retry automatically without restarting the job.

TLS 1.3signed URLsscoped keys

REST & WS API

Predictable REST resources for jobs and assets, plus a WebSocket channel that streams progress events as they happen.

RESTWebSocketwebhooks

Adaptive Streaming

Generate multi-bitrate HLS and DASH ladders from a single profile, tuned per asset for a good quality-to-bandwidth ratio.

ABR ladderCMAFsubtitles

Edge Delivery

Packaged streams are served from cache nodes close to the viewer, with origin shielding to keep startup time low under load.

origin shieldrange requestsCDN-ready

Observability

Per-job logs, encode metrics and delivery analytics are available through the API, so you can debug a stream without opening a ticket.

job logsmetricsevent stream
Workflow

From source file to playable stream

01 — INGEST

Upload or link

Pull from S3-compatible storage, a signed URL, or direct upload.

02 — TRANSCODE

Encode in parallel

Probe the source, split it, and encode every rendition at once.

03 — PACKAGE

HLS / DASH

Generate manifests, thumbnails and optional encryption.

04 — DELIVER

Stream anywhere

Play the manifest URL in any standards-compliant player.

Documentation

API reference at a glance

Base URL https://media.fireweed-root.top/v1 · JSON over HTTPS · Bearer authentication

MethodEndpointDescription
POST/jobsCreate a transcoding job from a source URL
GET/jobs/{id}Retrieve job status, outputs and timings
DELETE/jobs/{id}Cancel a queued or running job
GET/assets/{id}/manifestGet the HLS or DASH manifest URL for an asset
POST/webhooksRegister a callback for job lifecycle events
WS/v1/eventsSubscribe to live progress and delivery events
API Status

Service components

All systems operationalchecked just now
REST APIoperational
Transcoding workersoperational
Packaging & manifestsoperational
WebSocket eventsoperational

Currently in private beta

We're onboarding teams in small batches. Tell us about your workload and we'll get back to you with API credentials.

Request access