Quick start
Prerequisites
Section titled “Prerequisites”Submit a job
Section titled “Submit a job”This example relays an RTMP pull stream to another RTMP endpoint — no processing nodes.
export AVFLOW_API_KEY="<your-api-key>"
curl -X POST "https://api.avflow.dev/v1/jobs" \ -H "Authorization: Bearer ${AVFLOW_API_KEY}" \ -H "Content-Type: application/json" \ -d '{ "name": "hello-relay", "sources": [ { "name": "src", "type": "rtmp_pull", "config": { "url": "rtmp://input.example.com/live/source" } } ], "nodes": [], "sinks": [ { "name": "rtmp_out", "type": "rtmp_push", "inputs": ["src"], "config": { "urls": ["rtmp://live.example.com/app/stream-key"] } } ], "policies": { "idleTimeoutSec": 120 } }'For RTC rooms (LiveKit, Daily, etc.), use mixers — see Mix LiveKit to RTMP.
A successful response includes id, status, and timestamps.
List jobs
Section titled “List jobs”curl "https://api.avflow.dev/v1/jobs?limit=20&page=1" \ -H "Authorization: Bearer ${AVFLOW_API_KEY}"Check status
Section titled “Check status”curl "https://api.avflow.dev/v1/jobs/hello-relay" \ -H "Authorization: Bearer ${AVFLOW_API_KEY}"Running jobs include a usage object with per-component metrics.
Stop a job
Section titled “Stop a job”curl -X DELETE "https://api.avflow.dev/v1/jobs/hello-relay" \ -H "Authorization: Bearer ${AVFLOW_API_KEY}"See Create a job and Manage jobs for the full API reference.