DreamDojo 2B · AGIBOT
2B-parameter action-conditioned video world model for the AgiBot G1 humanoid.
Example usage
DreamDojo 2B · AGIBOT runs on the Dream Engine inference stack and is accessible via the typed Python SDK. Generate an API key, set it as DREAM_API_KEY in your shell, and you’re ready to roll out.
Input
PYTHON
1# Install: pip install dream-engine2import dream3import numpy as np4from PIL import Image5 6client = dream.Client() # reads DREAM_API_KEY7 8# Roll out 49 frames of 480x640 video. ~$0.0245 per call.9img = Image.open("start.png")10acts = np.load("actions_agibot.npy") # shape (48, 384)11 12rollout = client.models.get("dreamdojo-2b-agibot").predict(13 start_frame=img,14 actions=acts,15 seed=0,16)17 18print("frames:", rollout.frames, "cost:", rollout.cost_usd)19print(rollout.to_json()) # full server-side envelope20rollout.save("out.mp4")JSON output
JSON
1{2 "id": "rollout_8456fe51db3548789f199cfb8c8efd35",3 "object": "rollout",4 "model": "dreamdojo-2b-agibot",5 "created": 1735236968,6 "frames": 49,7 "resolution": [480, 640],8 "engine_wall_ms": 2616,9 "cost_usd": 0.0245,10 "video_url": "https://cdn.dreamengine.com/r/8456fe51.mp4",11 "video_url_expires_at": 1735323368,12 "seed": 013}Real-time streaming sessions
For interactive use cases — game-engine inference loops, MPC controllers, agent rollouts where each step’s action depends on the previous frame — open a long-lived session. Frames stream back as they decode (low time-to-first-frame); submit a new action sequence and the last frame threads forward automatically. Read the protocol reference.
Streaming session
PYTHON
1# Install: pip install 'dream-engine[sessions]'2import dream3import numpy as np4from PIL import Image5 6client = dream.Client() # reads DREAM_API_KEY7 8# Open a streaming session — frames arrive as they decode (low TTF).9session = client.sessions.create(10 model="dreamdojo-2b-gr1",11 initial_frame=Image.open("start.png"),12 seed=0,13)14try:15 actions = np.zeros((48, 384), dtype=np.float32)16 for frame in session.submit_actions(actions):17 # frame is np.ndarray (H, W, 3) uint8 — display, decode, plan...18 ...19 # Submit another action sequence — last frame threads forward20 # automatically; no re-upload.21finally:22 session.close() # idempotent; refunds unused prebudget