Skip to content
Console

whep

Subscribe to a remote WebRTC publisher using WHEP (WebRTC-HTTP Egress Protocol).

Terminal window
curl -X POST "https://api.avflow.dev/v1/jobs" \
-H "Authorization: Bearer ${AVFLOW_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"name": "whep-ingest",
"sources": [{
"name": "whep_src",
"type": "whep",
"config": {
"url": "https://whep.example.com/live/stream/whep",
"headers": { "Authorization": "Bearer <token>" }
}
}],
"nodes": [],
"sinks": [{
"name": "rtmp_out",
"type": "rtmp_push",
"inputs": ["whep_src"],
"config": {
"urls": ["rtmp://live.example.com/app/key"],
"encoding": { "videoCodec": "h264", "audioCodec": "aac" }
}
}]
}'

Shares the URLPullSourceConfig JSON shape with other pull sources, but the WHEP source only uses the fields below:

FieldTypeDefaultDescription
urlstringrequiredWHEP endpoint URL (https://…).
identitystringsource nameSpeaker label for active-speaker and ASR attribution.
displayNamestringidentity / source nameHuman-readable label for overlays and captions.
headersmapHTTP headers for the WHEP POST (for example, Authorization).

startTimeoutMs, stallTimeoutMs, and loop may appear in the shared struct but are not applied by the WHEP source implementation.

Video tier by actual resolution. Source pricing.