Skip to main content
Broadcast is a feature in the Odyssey API that allows multiple clients to join and view the same live stream. Instead of creating separate streams or streams per user, Broadcast runs a single shared world and streams it to multiple connected clients in real time. All participants receive the same live output from the running stream. Broadcast provides the foundation for shared experiences. Application-level logic can be built on top of Broadcast to coordinate input, roles, and interaction patterns.

How it works

  • A broadcast session starts a single Odyssey stream.
  • Multiple clients join the same broadcast session.
  • All participants receive the same live stream of the world.
  • The stream runs once and persists for the duration of the broadcast session.
  • All users see the same evolving world state.
Broadcast itself is responsible for shared streaming, not input coordination.

Collaborative experiences

Some applications may choose to allow multiple users to send prompts or events to a shared world. This behavior is not enforced by the Broadcast API, but can be implemented by the client application using a custom orchestration layer. In these setups:
  • Multiple users submit input to the application
  • The application decides how and when prompts are forwarded to the model
  • The shared world evolves based on coordinated input
This pattern is demonstrated in the Broadcast demo application.

Important Considerations

  • Broadcast sessions involve a shared visual state.
  • Input coordination, moderation, and conflict resolution are handled by the client application.
  • Odyssey does not enforce role-based control or input arbitration by default.
  • Applications should define clear rules for how shared input is accepted and applied.

Broadcast vs. Standard Streaming

FeatureStandard StreamBroadcast
Number of worldsOne per clientOne shared world
ViewersSingle clientMultiple clients
InputSingle sourceMultiple participants
Streaming outputIsolatedShared
Use casesSolo experienceCollaborative experience

Example Use Cases

  • Shared live demos
  • Interactive presentations
  • Collaborative tools built on top of shared worlds
  • Educational experiences with synchronized visuals
  • Multiplayer-style applications with custom orchestration

Getting Started

To try Broadcast, you can use the demo application:
👉 https://multi-interact-demo.onrender.com/
For implementation details, see the SDK and API Reference sections.

Best Practices

  • Explicitly manage broadcast session lifecycle and cleanup.
  • Clearly separate streaming (Broadcast) from input orchestration (application logic).
  • Define moderation or ownership rules for shared input.
  • Close connections when users leave a broadcast.