ziplab/ATAS
Any Time, Any Space: A World-State-Centric Framework for Agentic Video Generation
ATAS – Any Time, Any Space
개요
ATAS는 에이전트 기반 비디오 생성을 위한 연구 프레임워크로, 영화 전체에 걸쳐 영속적인 세계 상태를 유지합니다. 각본은 샷 요청 시퀀스로 컴파일되며, 각 요청은 공유 세계 메모리에서 정적 지오메트리와 동적 이벤트 정보를 가져와 비디오 생성기를 조건화하고, 생성된 클립은 검증된 후 세계에 다시 기록됩니다. 이를 통해 시스템은 과거 순간을 새로운 시점에서 다시 촬영할 수 있으며, 비디오 전체의 일관성을 보장합니다.
핵심 아이디어
| 구성 요소 | 역할 |
|---|---|
| 세계 상태 컴파일러 | 일반 텍스트 각본을 장면, 카메라, 시간, 이벤트 명세가 포함된 제한된 샷 요청으로 변환합니다. |
| 장면 메모리 | 각 위치의 정적 지오메트리를 공통 좌표 프레임에 저장하여 모든 시점에서 렌더링할 수 있도록 합니다. |
| 이벤트 메모리 | 동적 관찰(예: 객체, 행동)을 장면, 이벤트, 시간으로 인덱싱하여 과거 순간을 다시 방문할 수 있게 합니다. |
| 검증된 업데이트 | 샷이 생성된 후, 세계 상태가 업데이트되기 전에 재구성, 등록, 확인되어 일관성을 보장합니다. |
실행 방법
- 지오메트리 서비스(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에서 응답해야 함 - 클라이언트(모든 머신) – 가볍고 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를 통해)이 필요합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트