API REFERENCE · LIVE STREAMING

RTMP in & out

The alternative to WebRTC on both legs: you push your source to our RTMP ingest, and we push each language's dubbed feed to the RTMP destination you provide.

01.When to use RTMP

RTMP fits existing broadcast stacks: encoders that already speak it, restream services, and platform ingest URLs you control. Protocols mix freely per session -- RTMP in with WHEP playback out, or WHIP in with RTMP pushes out (Create a session). For lossy long-haul links, prefer SRT: packet recovery + AES on the same two legs.

02.Ingest

Create the session with ingest.protocol: "rtmp"; the response carries ingest.rtmp_url + ingest.stream_key instead of the WHIP pair.

THE INGEST PAIR
{
  "ingest": {
    "protocol": "rtmp",
    "rtmp_url": "rtmp://ingest.thefamiliarlab.com/live",
    "stream_key": "live_77aq2c_k8s0d1…"
  }
}

Paste the pair into any RTMP encoder. Send the camera feed and the full program audio, same as WHIP (What to send).

03.Outputs

Each output created with protocol: "rtmp"names its destination: we push that language's dubbed feed to your rtmp_url the moment the session goes live -- a channel per language, no puller to run.

ON POST /v1/live/sessions
"outputs": [
  { "lang": "es", "protocol": "rtmp",
    "rtmp_url": "rtmp://a.rtmp.yourcdn.com/live/es-key" },
  { "lang": "ko", "protocol": "rtmp",
    "rtmp_url": "rtmp://a.rtmp.yourcdn.com/live/ko-key" }
]

04.Access

The API is enterprise-only: private access under a Studio contract, with volume pricing, raised limits, and a named point of contact for the integration. Book a call and your key is issued with the contract.