Skip to content
Console

Quick start

  • An AVFlow API key from the Console
  • A Job JSON (start from an example)

This example relays an RTMP pull stream to another RTMP endpoint — no processing nodes.

Terminal window
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.

Terminal window
curl "https://api.avflow.dev/v1/jobs?limit=20&page=1" \
-H "Authorization: Bearer ${AVFLOW_API_KEY}"
Terminal window
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.

Terminal window
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.