Skip to Content
Core FeaturesStreaming Responses

Streaming Responses

All Virtuoso outputs stream token-by-token via generateContentStream, reducing perceived latency by 60–80% versus waiting for complete responses.

How it works

  • src/api/streaming.ts wraps the provider’s streaming API
  • The useStreaming hook (src/hooks/useStreaming.ts) accumulates chunks into React state
  • Intermediate text is rendered live in Insight cards while task:progress events tick on the Symphony Bus

What streams

SurfaceStreams?
Lens insights (captions, summaries, walkthroughs)Yes
Conductor responses & ReAct thoughtsYes
Chat lens conversationsYes
Media generation (Veo/Imagen)No — progress events instead

Function calls + streaming

Structured lenses stream too: function-call deltas are parsed incrementally, validated by Zod schemas when complete, and appended to the insight as rows arrive — so a long key-moments list fills in progressively instead of appearing all at once.