What is the difference between a connection and a stream?
What is the difference between a connection and a stream?
A connection represents an active session between your application and Odyssey. Opening a connection reserves a GPU-backed streamer resource, minimizing the time required to start streaming.A stream is the real-time video output generated by the world model.Key relationship:
- A connection can exist without an active stream.
- A stream cannot exist without a connection.
- A single connection can run multiple streams sequentially.
Do I need to disconnect when I finish streaming?
Do I need to disconnect when I finish streaming?
Yes.Connections reserve resources until they are explicitly closed or until they time out due to inactivity.Always call
disconnect() when your application is finished streaming.Using cleanup patterns such as try/finally (or React useEffect cleanup) helps prevent dangling sessions.Why does my concurrent stream count appear higher than expected?
Why does my concurrent stream count appear higher than expected?
This is usually caused by dangling sessions.Common causes include:
- Browser tab closures without disconnect
- Network interruptions
- Application crashes
- Hot module reload during development
- Multiple tabs running the same application
Broadcast
What is Broadcast?
What is Broadcast?
Broadcast allows multiple clients to watch the same running stream. Instead of creating separate streams per viewer, Broadcast delivers the same live output to all spectators.
Can spectators send prompts in Broadcast mode?
Can spectators send prompts in Broadcast mode?
No.Broadcast is responsible only for shared streaming output.If you want multiple users to send prompts or interactions, your application must implement an orchestration layer that decides how and when prompts are forwarded to the model.
Does Broadcast change how recordings work?
Does Broadcast change how recordings work?
No.Broadcast streams produce recordings the same way as standard streams.Recordings are tied to the stream ID, not to individual spectators.
Simulations
What is the difference between streaming and simulations?
What is the difference between streaming and simulations?
Streaming generates real-time interactive video output.Simulations run asynchronous jobs and produce output once the job completes.Simulations are commonly used for:
- batch generation
- scripted world sequences
- offline processing
How many simulation jobs can I submit at the same time?
How many simulation jobs can I submit at the same time?
Odyssey allows up to 10 simulation jobs to be queued at the same time.Pending jobs include simulations that are:
- waiting to be processed
- currently being processed
What happens if I submit simulation #11 while 10 are already queued?
What happens if I submit simulation #11 while 10 are already queued?
The API will return a 429 quota exceeded error.You must wait until one of the queued simulations completes before submitting another.
Will simulations run in parallel if I submit them together?
Will simulations run in parallel if I submit them together?
Possibly, but execution order and timing are not guaranteed.There are no guarantees about:
- exact execution order
- when a specific job will start
- how many jobs run concurrently
Do broadcast spectators count toward concurrent stream limits?
Do broadcast spectators count toward concurrent stream limits?
No.Only the stream owner counts toward concurrent stream limits.Spectators connected through Broadcast do not create additional streams, so they do not consume additional stream slots.
Streaming Usage
Can I reuse a connection for multiple streams?
Can I reuse a connection for multiple streams?
Yes — this is recommended.A single connection can start and stop multiple streams sequentially. Reusing the same connection avoids repeated connection setup and allows new streams to start faster.Typical lifecycle:Keeping the connection open while starting new streams is the recommended pattern for interactive applications.
How long can a stream run?
How long can a stream run?
A single interactive stream can run for up to 150 seconds.If you need longer sessions, you can start a new stream after the previous one ends while keeping the same connection open.Odyssey supports contiguous streaming sessions of up to 1 hour within the same connection.
What happens if I forget to call disconnect()?
What happens if I forget to call disconnect()?
If a connection is not closed, it remains active until it times out.During that time, it will still count against:
- concurrent stream limits
- active session usage