ziplab/ATAS
Any Time, Any Space: A World-State-Centric Framework for Agentic Video Generation
ATAS – Any Time, Any Space
What it is
ATAS is a research framework for agentic video generation that keeps a persistent world state across an entire film. A screenplay is compiled into a sequence of shot requests; each request pulls static geometry and dynamic event information from a shared world memory, conditions a video generator, and then the resulting clip is validated and written back into the world. This lets the system re‑film past moments from new viewpoints and ensures consistency throughout the video.
Core ideas
| Component | Role |
|---|---|
| World‑State Compiler | Turns a plain‑text screenplay into bounded shot requests with explicit scene, camera, time, and event specifications. |
| Scene Memory | Stores static geometry of every location in a common coordinate frame, enabling rendering from any viewpoint. |
| Event Memory | Indexes dynamic observations (e.g., objects, actions) by scene, event, and time so past moments can be revisited. |
| Validated Updates | After a shot is generated, it is reconstructed, registered, and checked before the world state is updated, guaranteeing consistency. |
How to get it running
- Geometry service (GPU machine) – installs the heavy models (Pi3X and SAM‑3) and runs a REST service that renders the world.
pip install -r geometry/environment.snapshot.txt && pip install -e geometry cp geometry/.env.example geometry/.env # edit paths, GPU IDs cd geometry && ./run_geometry_service.sh # should respond at http://127.0.0.1:18300/readyz - Client (any machine) – lightweight, only needs Python 3.12 and ffmpeg.
pip install -e client cp client/.env.example client/.env # set your DashScope API key, LLM settings, and the geometry service URL
Running a generation
atas run \
--screenplay examples/bookstore/screenplay.txt \
--characters examples/bookstore/characters.json \
--story-id bookstore
- You can omit
--characters(optional). - Flags like
--memory none,--plan-only,--max-shots N, or--output DIRgive extra control. - The command is resumable – re‑running it will reuse any already‑paid video generations.
- Output lives under
client/runs/<run-id>/story_<story-id>/and includes:final.mp4– the assembled filmmanifest.json– per‑shot metadatareport.md– a short summary of the run
Where to look for more
- Design notes –
docs/design.md - Examples –
examples/(bookstore, clockshop, record) - Tests –
client && python -m pytestandgeometry && python -m pytest - Paper & video – arXiv link and a YouTube promo are listed in the badge bar.
License
MIT License for the ATAS code. Third‑party components under geometry/backbones/ retain their original licenses.
ATAS is a frontier‑research prototype; it requires a GPU for the geometry service and an external LLM (via DashScope) for the language‑to‑video conditioning.
Related
- Project
- Project
- Project
- Project