Dream Engines

Dream Engine

Dream Engine is the inference fabric for video world models. Give it a starting frame and a sequence of conditioning inputs (robot actions today; broader modalities as the catalog grows); it returns an mp4 of the predicted rollout — fast and cheap enough to live inside a real-time MPC loop or a high-throughput data-augmentation pipeline.

The engine's contract is model-agnostic: every spec exposes the same predict / predict_batch surface, the same retry + error semantics, and the same per-frame metered billing. Each spec is benchmarked and validated end-to-end before it lands in the catalog.

Today's catalog: one active spec — DreamDojo 2B · GR-1, an action-conditioned video world model running in ~2.6 s on H100 SXM 80GB at $0.0005 per frame. More specs across other embodiments and model classes (block-diffusion, causal-video) are queued in the roadmap; they'll surface here as they validate.

Where to start

  • Quickstartpip install dream-engine, mint an API key, run your first rollout in five lines.
  • DreamDojo worked example — end-to-end with a real GR-1 teleop fixture, side-by-side with the reference output.
  • Bulk inference — predict over a whole dataset with one SDK call.
  • Python SDK reference — every class, every argument.
  • Concepts — what a rollout is, why action conditioning matters, why we ship 48-frame canonical.

What ships today

  • Two SDK surfaces: sync dream.Client and async dream.AsyncClient.
  • Two rollout shapes: single (predict) and K-candidate batch (predict_batch) for visual MPC.
  • Per-frame metered billing through Stripe, no warm-pool minimum.
  • Typed errors + automatic retries on transient failures.
  • One active spec in the catalog — see /docs/reference/models for the live list.
  • Bulk inference helpers (dream.io) — iterate any Hugging Face / S3 / local dataset of starting frames + actions; predict every row in one call. See Bulk inference.

More specs are queued in the model roadmap. The SDK contract is model-agnostic — when a new spec graduates, it surfaces on the catalog endpoint and existing client code keeps working unchanged.