Stream Mode

Use Beam for live apps, games, demos, and in-product viewer flows.

Beam stream mode rides on the same relay, signaling, and WebRTC bridge as regular screensharing, but it is documented and exposed as a separate public session mode so your product can ask for motion-friendly settings and a cleaner viewer experience.

What stream mode is for

  • Streaming a game or interactive app from a desktop operator to a browser viewer.
  • Running live product demos without sending the viewer to a generic meeting tool.
  • Showing motion-heavy content such as editors, video tools, visualization dashboards, or trading terminals.

Recommended stream profiles

Profile Target Recommended use
balanced 45 fps / 14 Mbps General live app sessions and polished demos.
crisp 30 fps / 16 Mbps Readable UI where clarity matters more than speed.
low_latency 30 fps / 8 Mbps Interactive remote control and support-sensitive flows.
gaming 60 fps / 18 Mbps Games, creative tools, fast transitions, and richer motion.

Typical stream flow

1. Your backend creates a stream session

Call POST /v1/sessions with mode = stream and a profile such as gaming.

2. The host app starts sharing

The operator launches the Beam Windows host app and starts hosting the session.

3. The viewer resolves join metadata

Your viewer app or web flow exchanges the join token at /v1/join.

4. The viewer joins natively or by browser

Use the relay-native path or the browser-facing WebRTC path depending on your product surface.

Create a stream session

POST /v1/sessions
Authorization: Bearer YOUR_BEAM_API_KEY
Content-Type: application/json

{
  "mode": "stream",
  "stream_profile": "gaming",
  "audio_enabled": true,
  "purpose": "live app demo",
  "metadata": {
    "build_id": "2026.06.07",
    "app_slug": "beam-studio"
  }
}

Browser-viewer fit

Stream mode pairs well with browser viewing because the control-plane response already returns the WebRTC signaling URL, viewer protocols, and recommended settings. That lets your product drive the whole join experience without handing the user off to a separate meeting brand.