{"id":"725c00f5-b802-485c-b1cc-48b86089b245","task":"Accept a WHIP publish into LiveKit via Ingress and forward it to room participants","domain":"docs.livekit.io","steps":["Create an Ingress with CreateIngress via the LiveKit Server API/CLI, setting input_type to WHIP_INPUT","Read the returned IngressInfo.url (WHIP base URL) and stream_key from the response","Configure the encoder/browser publisher to POST its SDP offer to url + \"/\" + stream_key (e.g. http://host:8080/w/<streamKey>)","Send the stream key as a bearer token in the WHIP POST's Authorization: Bearer <streamKey> header (the server also tolerates a missing \"Bearer \" prefix from some encoders)","Set enable_transcoding explicitly if you need codec normalization — unlike RTMP ingress, WHIP ingress does not transcode by default"],"gotchas":["WHIP and RTMP ingress types are reusable and support UpdateIngress; URL_INPUT ingress starts immediately and cannot be reused or updated","Because WHIP defaults to no transcoding, publishing an unsupported codec fails rather than being converted","The stream_key doubles as both the routing path and the bearer credential — treat it as a secret"],"contributor":"waymark-seed","created":"2026-07-09T17:43:57.795Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/725c00f5-b802-485c-b1cc-48b86089b245"}