本機 AI 動画生成(ComfyUI + Wan / LTX)
ベースマシン:RTX 4060 Laptop 8G VRAM / 32GB RAM / Win11。 ターゲット:ローカルで低解像度・数秒のアニメ風ショート動画(ソーシャルメディア利用に十分)。8GB VRAM を 16GB のように扱わないこと。
いつ使うか
ユーザーが「動画モデルを実行したい」「テキスト→動画」「画像→動画」と発言した場合、またはローカル動画生成環境をチームメンバーに引き継いで実験を続けたい場合。
まず理解しておくこと(モデル選定の間違いを防ぐ)
- テキスト→動画 (T2V) と 画像→動画 (I2V) は別のモデルであり、互換性がない:
- Wan2.1-1.3B は T2V のみ。Wan の I2V は 14B のみ(8GB では動作不可)。
- 8GB で動作可能な I2V は LTX-2B fp8(別途 t5xxl エンコーダーが必要)。
- 長尺動画/人物一貫性:純粋な T2V では「同一キャラクターの連続動画」は不可能。正しい方法は I2V で同一キャラクター画像を先頭フレームとして使用し、セグメントごとに生成後に連結する。T2V で複数セグメントを無理に連結するとキャラクターが動的に変化する。
- Ollama と ComfyUI のモデルは互換性がない:Ollama は言語モデル(プロンプト/ストーリー生成)、ComfyUI は拡散モデル(動画出力)。それぞれ役割が異なり、代替ではない。
セットアップ手順(順序通りに実施;スキップするとトラブル発生)
1) ComfyUI ポータブル版をインストール(D ドライブに配置、C ドライブは避ける)
Comfy-Org/ComfyUIGitHub リリースからComfyUI_windows_portable_nvidia.7zを取得(Python + torch + CUDA 同梱)。- ⚠️ bash の
7z x -o"/d/..."は MSYS のパス変換により解凍先が正しく設定されない(解凍成功と表示されるがディレクトリは空)。→ Python subprocess でネイティブ Windows パスを渡して 7z を実行すること。
2) ComfyUI を最新版にアップグレード(旧バージョンには Wan/LTX ノードが存在しない)
- GitHub 直結では
Connection was resetが頻発 → 最初にミラーを設定:git config --global url."https://ghfast.top/https://github.com/".insteadOf "https://github.com/"、その後git pull --ff-only origin master。
3) Python 依存関係をアップグレード:python_embeded\python.exe -s -m pip install -r ComfyUI\requirements.txt(新しいバージョンでは comfy-kitchen などが追加される)。
4) torch は comfy-kitchen との互換性が必要(症状に応じて段階的に対処)
| 症状 | 原因 | 対処法 |
|---|---|---|
module 'torch.library' has no attribute 'custom_op' | torch < 2.4 | torch をアップグレード |
infer_schema ... unsupported type list[int] | torch と comfy-kitchen の非互換 | cu130 の torch(2.14+)にアップグレード |
cudaErrorNotSupported / likely using older driver | ドライバの CUDA バージョン不足 | NVIDIA ドライバをアップグレード |
- まずドライバの上限を確認:
nvidia-smiでCUDA Versionを確認。CUDA 13 が必要ならドライバをアップグレード。 - 最新ドライバを取得:NVIDIA ドライバクエリ API(
AjaxDriverService、RTX40 系ノート PC 用 psid=138/pfid=1005)でDownloadURLを取得。ダウンロード時はブラウザ UA + Referer が必要、さもなければ 403 エラー。サイレントインストール:-s -noreboot。インストール後nvidia-smiで確認。多くの場合は再起動不要で torch が GPU を認識。
5) モデルは必ず ComfyUI 標準フォーマットで使用(最もトラブルが多いポイント)
Comfy-Org/Wan_2.1_ComfyUI_repackagedのsplit_files/から safetensors を取得:diffusion_models/wan2.1_t2v_1.3B_fp16.safetensors(約2.8GB)text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors(約6.7GB)vae/wan_2.1_vae.safetensors(約0.25GB)
- ⚠️ Wan 公式のオリジナル
.pthファイル(例:models_t5_umt5-xxl-enc-bf16.pth)を使用すると、Cannot copy out of meta tensor; no data!エラーが発生(CLIPTextEncode フェーズ)。これはフォーマット/名前の不一致が原因であり、VRAM 不足ではない — VRAM パラメータを調整しようとしないこと。 - チャイナネットワークからのダウンロード:HuggingFace 直結が不通の場合 → hf-mirror.com を使用。
curl -C - --retry 999 --retry-all-errorsでレジューム機能付き。 - 配置先:
ComfyUI\models\{diffusion_models,text_encoders,vae}\。
6) ffmpeg をインストール(動画エンコードに必須):python_embeded\python.exe -s -m pip install imageio-ffmpeg imageio(静的 ffmpeg 同梱)。これがないと SaveVideo フェーズで [Errno 22] エラー。
7) サービスを起動
python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --disable-async-offload > log.txt 2>&1
--disable-async-offload:8GB VRAM 環境でテキストエンコーダーの重みがメタデバイスに留まるのを防ぐ。- ⚠️⚠️ このような常駐サービスを
| head/| teeパイプで起動してはならない:tqdm プログレスバーが閉じられたパイプに書き込もうとし、[Errno 22] Invalid argumentエラーで KSampler が直接中断。モデルエラーのように見えるが、実際は起動方法の問題。> ログ 2>&1リダイレクトを使用すること。この落とし穴は常駐プロセス/ゲートウェイ全般に適用される — パイプが閉じられるとプロセスが強制終了される。 - 起動確認:
netstat -ano | grep :8188で LISTENING 状態を確認。
テキスト→動画の実行(T2V)
- ノードチェーンは
templates/wan21_t2v_workflow.jsonの通り:CLIPLoader(type=wan) + VAELoader + UNETLoader + EmptyHunyuanLatentVideo + CLIPTextEncode(正/負) + KSampler + VAEDecode + CreateVideo + SaveVideo- 動画 latent は EmptyHunyuanLatentVideo を使用。出力は必ず CreateVideo → SaveVideo の順。
- ⚠️
VAEDecodeの出力は IMAGE、直接 SaveVideo に接続するとreceived_type(IMAGE) mismatch input_type(VIDEO)エラー。
- ジョブ送信:
POST http://127.0.0.1:8188/prompt、ボディ{"prompt": {ノードid: {class_type, inputs}}}。戻り値にnode_errors:{}があれば成功。 - 進捗確認:
GET /history/<prompt_id>でstatus.status_strを確認(running/success/error)。error の場合はmessages内のexecution_errorを確認(node_id/node_type/exception_messageを含む)。 - 8GB 実測可能パラメータ:832×480、length 33(約2秒)、steps 15-20、cfg 5.5-6.0、fps 16。これ以上はメモリにオフロードされ、非常に遅くなる。
- 出力ファイルは
ComfyUI\output\*.mp4。imageio_ffmpeg.get_ffmpeg_exe()で ffmpeg を呼び出し、長さ/解像度を確認。
画像→動画の実行(I2V)
- LTX-2B を使用:
ltxv-2b-0.9.8-distilled-fp8.safetensors(約4.5GB)→models\diffusion_models\。テキストエンコーダーには t5xxl を使用:t5xxl_fp8_e4m3fn.safetensors(約4.9GB、comfyanonymous/flux_text_encodersから取得)→models\text_encoders\。 - ⚠️ LTX は t5xxl、Wan は umt5 を使用し、互換性がないため、両方をダウンロードする必要がある。
- キャラクター一貫性の実現方法:固定キャラクター画像を先頭フレームとして各セグメントを生成するか、IPAdapter/InstantID でキャラクター情報を注入する。
実行前の準備(8GB VRAM)
- Chrome など VRAM を消費するソフトウェアを閉じる(システム/デスクトップで約 1.2GB、Chrome で約 1.9GB 消費される)。
- 単一タスクを直列で実行し、複数ジョブを同時に生成しない。
チームメンバーへの引き継ぎ
引き継ぎドキュメントの構成(この通りに記述):環境パス → 起動コマンド(引数含む)→ モデル一覧(ファイル名+ディレクトリ+サイズ)→ 再利用可能なワークフロー JSON → 8GB パラメータのノウハウ → トラブルシューティング → 次のタスク。
参考
templates/wan21_t2v_workflow.json— 実測で動作確認済みの Wan2.1-1.3B テキスト→動画ワークフロー(ComfyUI API 形式、直接 POST 可能)
著者について
九品錦锂e | 実際に体験したトラブルを「そのまま使える」スキルにパッケージ化。教科書は書きません。
このスキルは私自身が使っているバージョンで、各トラブルは実際に経験したものです。使用中に問題が発生した場合、または高度な使い方や他の用途向けにスキルをカスタマイズしてほしい場合は、以下の WeChat に直接ご連絡ください。メモに「SkillHub」と記入していただければ優先的に返信します:

スキャンして著者の WeChat を追加 · メモに「SkillHub」と記入すると優先的に承認