ziplab/ATAS

Any Time, Any Space: A World-State-Centric Framework for Agentic Video Generation

ATAS – Any Time, Any Space

简介

ATAS是一个代理式视频生成的研究框架,在整部电影中保持持久的世界状态。剧本被编译为一系列镜头请求;每个请求从共享的世界记忆中提取静态几何和动态事件信息,条件化视频生成器,然后生成的片段经过验证后写回世界。这使得系统能够从新视角重新拍摄过去的时刻并确保整个视频的一致性。

核心思想

组件 作用
世界状态编译器 将纯文本剧本转换为带有明确场景、相机、时间和事件规范的有限镜头请求。
场景记忆 在公共坐标框架中存储每个位置的静态几何,从而允许从任何视角渲染。
事件记忆 按场景、事件和时间索引动态观察(例如,对象、动作),以便重新访问过去的时刻。
验证更新 生成镜头后,在更新世界状态之前对其进行重建、注册和检查,确保一致性。

运行步骤

  1. 几何服务(GPU机器) – 安装重型模型(Pi3X和SAM-3)并运行渲染世界的REST服务。
    pip install -r geometry/environment.snapshot.txt && pip install -e geometry
    cp geometry/.env.example geometry/.env   # 编辑路径、GPU ID
    cd geometry && ./run_geometry_service.sh   # 应在http://127.0.0.1:18300/readyz响应
    
  2. 客户端(任何机器) – 轻量级,只需Python 3.12和ffmpeg。
    pip install -e client
    cp client/.env.example client/.env   # 设置DashScope API密钥、LLM设置和几何服务URL
    

运行生成

atas run \
  --screenplay examples/bookstore/screenplay.txt \
  --characters examples/bookstore/characters.json \
  --story-id bookstore
  • --characters可以省略(可选)。
  • 像--memory none、--plan-only、--max-shots N或--output DIR这样的标志提供额外控制。
  • 命令是可恢复的 – 重新运行将重用任何已支付的视频生成。
  • 输出位于client/runs/<run-id>/story_<story-id>/,包括:
    • final.mp4 – 组装好的电影
    • manifest.json – 每个镜头的元数据
    • report.md – 运行的简短摘要

更多资源

  • 设计说明 – docs/design.md
  • 示例 – examples/(bookstore, clockshop, record)
  • 测试 – client && python -m pytest 和 geometry && python -m pytest
  • 论文和视频 – 徽章栏中列出了arXiv链接和YouTube宣传片。

许可证

ATAS代码采用MIT许可证。geometry/backbones/下的第三方组件保留其原始许可证。


ATAS是前沿研究原型;需要GPU用于几何服务和外部LLM(通过DashScope)用于语言到视频的条件化。

相关

  • 项目
  • 项目
  • 项目
  • 项目