Spaces:
Running on Zero
Running on Zero
Document live backend architecture, add sdk_version 6.12.0
Browse files
README.md
CHANGED
|
@@ -4,24 +4,41 @@ emoji: π
|
|
| 4 |
colorFrom: gray
|
| 5 |
colorTo: red
|
| 6 |
sdk: gradio
|
|
|
|
| 7 |
app_file: app.py
|
| 8 |
pinned: false
|
| 9 |
-
short_description:
|
| 10 |
python_version: "3.10"
|
| 11 |
startup_duration_timeout: 40m
|
| 12 |
---
|
| 13 |
|
| 14 |
# π ABot-World β Interactive World Rollout
|
| 15 |
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
|
|
|
|
|
|
| 19 |
|
| 20 |
- **Model:** [`acvlab/ABot-World-0-5B-LF`](https://huggingface.co/acvlab/ABot-World-0-5B-LF) (built on Wan2.2-TI2V-5B)
|
| 21 |
- **Code:** [amap-cvlab/ABot-World](https://github.com/amap-cvlab/ABot-World)
|
| 22 |
- **Project:** [ABot-World](https://amap-cvlab.github.io/ABot-World/)
|
| 23 |
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
colorFrom: gray
|
| 5 |
colorTo: red
|
| 6 |
sdk: gradio
|
| 7 |
+
sdk_version: 6.12.0
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
+
short_description: Live interactive world rollout from an image
|
| 11 |
python_version: "3.10"
|
| 12 |
startup_duration_timeout: 40m
|
| 13 |
---
|
| 14 |
|
| 15 |
# π ABot-World β Interactive World Rollout
|
| 16 |
|
| 17 |
+
Upload a single starting image and steer a **live** navigable world in real time.
|
| 18 |
+
Provide a first-frame image (image-to-video seed), describe the scene, and drive
|
| 19 |
+
the world with **WASD** (move & turn) / **IJKL** (look & pan). The model
|
| 20 |
+
autoregressively rolls out an action-conditioned world and streams decoded frames
|
| 21 |
+
straight to your browser.
|
| 22 |
|
| 23 |
- **Model:** [`acvlab/ABot-World-0-5B-LF`](https://huggingface.co/acvlab/ABot-World-0-5B-LF) (built on Wan2.2-TI2V-5B)
|
| 24 |
- **Code:** [amap-cvlab/ABot-World](https://github.com/amap-cvlab/ABot-World)
|
| 25 |
- **Project:** [ABot-World](https://amap-cvlab.github.io/ABot-World/)
|
| 26 |
|
| 27 |
+
## Architecture
|
| 28 |
+
|
| 29 |
+
This Space runs a proper live backend/infrastructure (in the spirit of
|
| 30 |
+
[`Overworld/waypoint-1-5`](https://huggingface.co/spaces/Overworld/waypoint-1-5)):
|
| 31 |
+
|
| 32 |
+
- **`gradio.Server`** exposes ZeroGPU-friendly `/start_game` and `/stop_game`
|
| 33 |
+
API endpoints plus a raw **WebSocket** (`/ws`) that streams binary JPEG frames
|
| 34 |
+
and receives live control input β no Gradio UI polling.
|
| 35 |
+
- A custom **`index.html`** front-end handles **image upload** (the i2v seed β
|
| 36 |
+
no video upload needed), live keyboard steering, and a clean HUD.
|
| 37 |
+
- Every endpoint is keyed by a per-client `session_id`, so concurrent players
|
| 38 |
+
never share seed images, frame queues, or status messages.
|
| 39 |
+
- **ZeroGPU quota** is billed to the *requesting user*: the HF iframe's
|
| 40 |
+
`x-api-token` / `x-ip-token` is forwarded by the Gradio JS client and the
|
| 41 |
+
incoming request context is propagated into the GPU worker thread, so
|
| 42 |
+
`@spaces.GPU` consumes the visitor's own quota rather than the Space owner's.
|
| 43 |
+
|
| 44 |
+
Inference is causal / block-wise, matching the upstream `CausalInferencePipeline`.
|