AMD x lablab ハッカソンのために作りました。英語の1文が、登場人物、ストーリー、音楽、そしてショットごとの音声ナレーション付きで、30秒のシネマティックなリールに変換されます。1台の AMD Instinct MI300X で、エンドツーエンド約45分。すべてのモデルは Apache 2.0 か MIT です。
コード: github.com/bladedevoff/studiomi300
Architecture
Director は Vision Critic を兼ねています — 同じ Qwen3.5-35B のチェックポイントを、異なるシステムプロンプトで再ロードし、2つの役割を持たせています。VRAM を 70 GB 節約。
Why a single MI300X
192 GB の HBM3 により、4つの非常に異なるアーキテクチャを1枚のカードで順番に共有できます。35B の MoE ディレクター、4B の拡散、14B の I2V MoE、3.5B の音楽、82M の TTS です。24 GB のコンシューマ向けハードウェアでは、このスタックには 4〜5 台の別マシンを配線して使う必要があります。
フェーズ間で gc.collect() + torch.cuda.empty_cache() によってモデルをアンロードします。Director はサブプロセスで動かすため、Wan2.2 をロードする前に終了時に完全なメモリ解放が行われます。そうしないと OOM になります。
What the Vision Critic does
ほとんどの生成動画パイプラインは一度レンダリングして祈ります。こちらは、35B のビジョンモデルで各クリップを再チェックし、4つの 1〜10 の軸でスコアリングし、全体スコアが 7 未満なら再レンダリングします。
批評者(critic)は、10個の列挙された失敗ラベルのいずれかを返します: CHARACTER_DRIFT, EXTRAS_INVADE_FRAME, CAMERA_IGNORED, WALKING_BACKWARDS, OBJECT_MORPHING, HAND_FINGER_ARTIFACT, WARDROBE_DRIFT, NEON_GLOW_LEAK, STYLIZED_AI_LOOK, RANDOM_INTIMACY。各ラベルは特定のリトライ戦略へルーティングします — CHARACTER_DRIFT はより強い参照編集を起動し、CAMERA_IGNORED は動作(motion verb)を単純化し、などです。
1ショットあたり最大3回の試行。総計のウォールタイムは約30%増ですが、出力品質はそれ以上に大きく向上します。
What got optimized
| Knob | Speedup | Note |
|---|---|---|
| ParaAttention FBCache (0.05) | 2.00× | lossless |
torch.compile(transformer_2) |
1.20× | selective; full-graph compile は dual-expert MoE で不安定 |
| ROCm 環境フラグ | 1.10× | hipBLASLt, expandable_segments, MIOpen FAST |
| flow_shift=5 hero / 8 b-roll | quality | 最初は12を使って、プラスチックのような肌になりました |
| FLUX.2 klein 4B vs FLUX.1-schnell | ~15× | 秒未満のキーフレーム |
エンドツーエンド: MI300X で 720p クリップあたり 25.9 分 → 10.4 分。累積 2.5×。
What didn't work (documented in incidents.md)
-
AITER FP8 on Wan2.2 —
gemm_a8w8_CKがクロスアテンションの形状(M=512, K=4096, N=5120)により、完全なパイプライングラフ内で segfault します。ROCm/aiter#2187と一致。BF16 を採用して出荷。 - MagCache — diffusers 0.38 のキャリブレーションカウンタが、Wan2.2 のデュアルトランスフォーマーのスケジュールで発火しません。
-
torch.compile(mode="max-autotune", fullgraph=True)— Dynamo のエラー(diffusers#12728)。 -
channels_last— Wan2.2 のトランスフォーマーは rank-5 で、channels_last は rank-4 しか対応していません。 - Wan2.2-Lightning I2V LoRA — V1 のみ(2025年8月)、ヒーローショットでは full-step に比べて品質が低下します。
Identity without LoRA training
シネマティック動画ツールにおける標準的なアプローチは、キャラクターごとの LoRA 学習です — データセットをアップロードし、約90分待って、カスタムのアイデンティティモデルを得ます。このパイプラインは、そのステップをまるごとスキップします。
FLUX.2 [klein] の参照編集は、構成(construction)によってキャラクターのアイデンティティを固定します。キャラクターごとにマスターのポートレートを1枚用意 → 以降のすべてのキーフレームで条件付けされた参照編集を実行。微調整(fine-tuning)なしで、ショット間でもアイデンティティが一貫します。
キャラクターあたり1時間節約。データセットの準備なし。学習用コンピュートなし。機能する大きなアーキテクチャ上の賭け。
Locale-aware narration
Director は、シーンに合わせてナレーション言語を選びます。Tokyo → Japanese。Paris → French。Mumbai → Hindi。Kokoro-82M は 9言語をサポートしているため、Director が選択した時点でロケール対応ナレーションは「無料」です。
ショットごとの WAV は、ffmpeg の adelay によるクリップ開始オフセットに合わせて整列させ、音楽ベッドと -18 LUFS でミックスします。
Everything is open
コードは Apache 2.0 です。すべてのモデル — Qwen、FLUX.2、Wan2.2、ACE-Step、Kokoro — は Apache 2.0 または MIT。商用利用可能な出力が得られます。
GitHub: github.com/bladedevoff/studiomi300
HF Space: huggingface.co/spaces/lablab-ai-amd-developer-hackathon/studiomi300
フォークしてください。ビジョン批評者(vision critic)の失敗分類(failure taxonomy)は主観的なので、あなたの分類は異なるかもしれません。Director のプロンプトはドキュメンタリーとナラティブで調整できるかもしれません。ACE-Step の簡潔な説明には、diegetic(作中に存在する音)と non-diegetic のフラグを含めてもいいでしょう。
これは完成品ではありません。単一GPU上で自律的にオープンウェイトのシネマティック生成を拡張するための、動作するベースラインです。
AMD Developer Hackathon(2026年5月)に向けて一人で制作。FLUX、Wan2.2、ACE-Step、Kokoro の各チームが真面目な生成AIをオープンに保ってくれていることに感謝します。





