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.
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'}
Everything between "file uploaded" and "playing on the viewer's screen", behind one consistent API.
Files are split into segments and encoded in parallel on GPU-accelerated workers, so long sources finish in a fraction of real time.
TLS everywhere, scoped API keys, signed playback URLs and encrypted storage. Failed segments retry automatically without restarting the job.
Predictable REST resources for jobs and assets, plus a WebSocket channel that streams progress events as they happen.
Generate multi-bitrate HLS and DASH ladders from a single profile, tuned per asset for a good quality-to-bandwidth ratio.
Packaged streams are served from cache nodes close to the viewer, with origin shielding to keep startup time low under load.
Per-job logs, encode metrics and delivery analytics are available through the API, so you can debug a stream without opening a ticket.
Pull from S3-compatible storage, a signed URL, or direct upload.
Probe the source, split it, and encode every rendition at once.
Generate manifests, thumbnails and optional encryption.
Play the manifest URL in any standards-compliant player.
Base URL https://media.fireweed-root.top/v1 · JSON over HTTPS · Bearer authentication
/jobsCreate a transcoding job from a source URL/jobs/{id}Retrieve job status, outputs and timings/jobs/{id}Cancel a queued or running job/assets/{id}/manifestGet the HLS or DASH manifest URL for an asset/webhooksRegister a callback for job lifecycle events/v1/eventsSubscribe to live progress and delivery eventsWe're onboarding teams in small batches. Tell us about your workload and we'll get back to you with API credentials.
Request access