Introduction
AVFlow runs Jobs — JSON documents that describe a real-time audio/video pipeline. Each Job lists sources (inputs), optional nodes (mixing, ASR, etc.), and sinks (outputs). AVFlow wires them into a DAG and keeps the pipeline running until your policies say stop.
What you can build
Section titled “What you can build”- Mix a LiveKit or Daily room to RTMP / SRT / WHIP
- Relay pull streams (
rtmp_pull,file_pull, etc.) directly to outputs when no layout is needed - Record composite layouts to object storage (HLS)
- Capture a web page (
web_capture) into a live mix - Transcode to multiple bitrates from one source
Job at a glance
Section titled “Job at a glance”{ "name": "my-job", "sources": [{ "name": "in", "type": "livekit", "config": { } }], "nodes": [{ "name": "mix", "type": "video_mixer", "inputs": ["in"], "config": { } }], "sinks": [{ "name": "out", "type": "rtmp_push", "inputs": ["mix"], "config": { } }]}Every component uses the same shape: { "name", "type", "config" }. Nodes and sinks connect upstream components through inputs.
API access
Section titled “API access”Submit and manage jobs with an API key from the Console:
POST https://api.avflow.dev/v1/jobsGET https://api.avflow.dev/v1/jobsGET https://api.avflow.dev/v1/jobs/:nameDELETE https://api.avflow.dev/v1/jobs/:nameAuthorization: Bearer <api-key>See Quick start for a full curl example.
Next steps
Section titled “Next steps”- Quick start — submit your first job with
curl - Job structure — fields, limits, and responses
- Sources — input types and config reference