Social LiveDocumentationPLATFORM DOCS

Audio Party Rooms

Voice-only rooms with up to 13 seats -creation, seat flow, audio-only enforcement.

Last updated Thu Jul 16 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

TL;DR -An audio party room is a live room with no video: a host plus up to twelve guests talk on voice-only "seats," like a group audio hangout. Everything else -chat, gifts, moderation -works exactly like a video room.

Who this is for -Product & Design: the plain description and seat behavior. Engineering: the seat caps table and the two-layer video ban. Backend: the assertCanPublishMedia enforcement.

An audio party room is a voice-only version of a live room. Instead of camera tiles, everyone sits in an audio "seat" shown as an avatar, and only their voice goes out. Picture a live radio call-in show or a Clubhouse-style room: a host leads, and a handful of guests can come up and talk.

Because there's no video, these rooms fit far more people on stage (up to 13 total) and cost much less to run. They reuse all the machinery of a normal live room; the only real differences are more seats, avatar tiles instead of video, and a hard rule that no video is ever allowed.

In plain terms

  • It's a live room without cameras. Host plus up to 12 guest seats, all voice-only.
  • Seats are just stage spots. A viewer taps an empty seat to ask to come up; the host approves; they start talking (muted at first, like everywhere else).
  • Gifts, chat, discovery, and moderation all work the same as a video room.
  • Video is impossible here -not just hidden in the UI, but rejected by the server, so no hacked client can sneak a camera in.

The rest of this page covers the mechanics behind those points.


Audio party rooms (kind: voice) are voice-only live rooms in the Yalla style: a host seat plus up to 12 guest seats, no video anywhere. They reuse the entire live-room machinery -discovery, join flow, chat, gifts, stage requests, moderation -with three differences: bigger seat counts, avatar seats instead of video tiles, and a hard server-side ban on video.

Creating one

Making an audio party room is the same flow as a video room -you just flip one toggle on the create screen.

The create screen has a Video Live / Audio Party toggle. Audio Party switches the layout picker to seat layouts (9 or 13 seats, host included) and sends kind: "voice" to POST /live/rooms. Everything else -title, privacy, background, warm-up + go-live -is identical to video rooms.

The maximum number of guest seats is enforced separately for each room kind, everywhere a layout can be set (create, the layout-update endpoint, and the socket layout event):

KindMax guest slots
live (video)9
voice (audio party)12

Seats are stage slots

A "seat" isn't a new concept -it's the same stage-guest flow as a video room, just rendered as an avatar and always audio-only.

A seat is the existing stage-guest mechanism: viewers tap an empty seat to request it, the host approves, and the guest starts publishing. In voice rooms the guest media-choice dialog is skipped -an accepted request takes the seat audio-only (joining muted, as everywhere else). The client renders every cell as an avatar seat (isAudioOnly layout cells); occupied seats show the person's initial, gift counters still overlay each seat, and gifts can target any seated guest (standard guest-gift split applies -see Gifting).

Audio-only enforcement

Keeping video out is done in two layers -the app hides the camera, and the server flatly refuses any video. That second layer is what actually guarantees it, since a modified app can't be trusted.

Defense in depth, because the codec path is end-to-end through the SFU:

  1. Client: hosts join with video: false (no camera capture at all), the camera toggle is hidden in the composer, and toggleCamera no-ops in voice rooms.
  2. Server (authoritative): assertCanPublishMedia rejects any video producer in a VOICE room with 403 -a modified client cannot put video into an audio room.

Audio-only rooms carry no video bitrate, so 13-seat rooms are cheap on both the SFU and every listener's connection.

Discovery

Voice rooms show up in the same discovery grid as video rooms, just tagged so viewers know what they're tapping into.

Voice rooms appear in the same discovery grid with an Audio badge next to the privacy badge. GET /live/rooms already returns kind per room.