Channel document id.
Owning user id.
Public URL slug (/listen/{slug}).
Whether the public page is enabled.
Source spoken language (ISO-639-1).
Target caption/listen languages (ISO-639-1 or BCP-47).
Active STT backend, or null when not chosen yet.
Active caption translation backend, or null when not chosen yet.
Always null when STT is Soniox (built-in MT).
Chat translation model id for OpenRouter or Groq when set.
Unused when textTranslateProvider is gcp or STT is Soniox.
Per-language Google Cloud TTS voices (ISO code → voice resource name). Empty object when none configured.
Whether an OpenRouter API key is stored.
Whether a Groq API key is stored.
Whether a Deepgram API key is stored.
Whether an AssemblyAI API key is stored.
Whether a Gladia API key is stored.
Whether a Speechmatics API key is stored.
Whether a Soniox API key is stored.
Whether a Modulate API key is stored.
Whether an ElevenLabs API key is stored.
Whether a GCP service-account JSON is stored.
Whether an RTMP stream key is stored (hash and/or encrypted plaintext).
Captions/translation ready for this channel owner.
TTS listen ready for this channel owner.
ISO timestamp when the channel was created.
ISO timestamp when the channel was last updated.
OptionalstreamPlaintext stream key for OBS, when encrypted storage is present (or just minted).
OBS Server URL (rtmp://host/live) when MediaMTX public host is configured.
Full publish URL including stream key when plaintext is available. Prefer rtmpServerUrl + stream key for OBS Custom fields.
Whether optional MediaMTX ingest host env is configured.
True when RTMP env is fully wired and MediaMTX answered a short TCP probe (sidecar reachable from the app).
Owner-facing channel payload including recoverable stream key plaintext when stored encrypted.