Serving#

Serving in FlashDreams is integration-driven at the model/runtime layer, while WebRTC provides the shared browser-facing transport for realtime demos.

Serving building blocks#

  • Runner config defines serving-relevant I/O fields (prompts, control tensors, image paths, output transport).

  • Pipeline manages model lifecycle and cached state across steps.

  • Shared WebRTC transport handles browser session I/O, request routing, data-channel controls, and media responses for realtime demos.

  • Integration runtime owns model-specific checkpoint setup, conditioning, prompt/scene semantics, and chunk generation.

Reference integration#

The reusable applications provide concrete examples of the shared serving stack:

  • shared transport code under flashdreams/flashdreams/serving/webrtc/,

  • camera-to-video application behavior under apps/cam2v/,

  • thin model bindings under integrations_v2/<model>/apps/cam2v/adapter.py,

  • OmniDreams model wiring under integrations_v2/omnidreams/ and serving under apps/interactive_drive/.

Launch patterns#

Single GPU:

uv run flashdreams-run-v2 cam2v-lingbot \
    --mode webrtc -- --example-data --total-blocks 21

Multi GPU:

uv run torchrun --nproc_per_node=2 --no-python flashdreams-run-v2 \
    cam2v-lingbot --mode webrtc -- --example-data --total-blocks 21

See also#