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経由)が必要です。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト