API REFERENCE · LIVE STREAMING
WHIP ingest (WebRTC)
Standard WebRTC-HTTP Ingestion Protocol: POST your SDP offer to the session's whip_url, get the SDP answer back, stream.
01.The protocol
Ingest is standard WHIP -- no custom client, no SDK requirement. OBS 30+, GStreamer, and browser clients work as-is: point them at the ingest.whip_url from Create a session and authenticate with the session token.
02.Connect
POST https://live.thefamiliarlab.com/whip/live_77aq2c Authorization: Bearer whip_tk_9f27c1… Content-Type: application/sdp v=0 o=- 46117 2 IN IP4 127.0.0.1 …your SDP offer… HTTP/1.1 201 Created Content-Type: application/sdp Location: /whip/live_77aq2c/resource/1 v=0 …our SDP answer…
- The Bearer is the
ingest.tokenfrom session creation -- short-lived and scoped to this session, safe to hand to the machine doing the streaming. DELETEthe returnedLocationresource to disconnect cleanly (standard WHIP teardown).
03.OBS 30+ setup
- 1. Settings → Stream → Service: WHIP.
- 2. Server: the session's
whip_url. - 3. Bearer Token: the session's
ingest.token. - 4. Start Streaming once the session reports
ready-- the session flips toliveand every output starts.
GStreamer's whipclientsink and any WHIP-capable encoder take the same two values: URL + Bearer token.
04.What to send
| TRACK | CODEC | NOTES |
|---|---|---|
| Audio | Opus 48 kHz | The full program audio -- every voice you want dubbed, plus the scene. |
| Video | H.264 | The camera feed. |
05.ICE & firewalls
Connectivity is standard ICE: STUN candidates are gathered automatically, and TURN over TLS is provided for networks that block UDP -- corporate and venue networks work with no configuration. The SDP answer carries everything your client needs.
06.Reconnects
If the connection drops, POST a fresh offer to the same whip_url-- inside the session's two-minute grace window (default) it resumes the same session and the dubbed feeds pick back up (Disconnects & reconnects).
07.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.