本文へ進む
Accomplir アコンプリール株式会社

Journal

AnimeGen-I2Vで生成できないときの原因。メモリ不足・環境・出力の対処

AnimeGen-I2Vが起動しない、CUDAメモリ不足、モデルを読めない、遅い、MP4が出ない、動かない場合の切り分けを解説します。

AnimeGen-I2Vで動画を生成できないとき、原因はモデルそのものとは限りません。依存ライブラリ、モデルファイル、GPUとドライバー、メモリ、入力画像、出力用FFmpeg、プロンプト、生成条件のどこかで止まります。複数の設定を一度に変えると、直った理由も再発した理由も分からなくなります。

本稿では、公式モデルカードの構成を基準に、「起動しない」「モデルを読めない」「CUDAメモリ不足」「処理が進まない」「動画を保存できない」「動かない・崩れる」という症状を順番に切り分けます。情報は2026年9月6日時点です。エラー全文には環境情報やパスが含まれる場合があるため、外部へ共有する前に秘密情報を除いてください。

まず公式の最小構成へ戻す

最初の目標は、高解像度の完成動画ではなく、公式例に近い条件で一件のMP4を出力することです。公式例はPython、PyTorch、Diffusers、Transformers、Accelerate、PEFT、画像・動画関連ライブラリを使います。高・低ノイズ用Transformer、Wan 2.2 I2V A14BのVAEとパイプライン、Lightning LoRAを読み込みます。

生成条件は832×480を目安に、五秒、16fps、81フレーム、4推論ステップ、guidance scale 1.0、シード42です。メモリ対策としてレイヤー単位のキャスティングとCPUオフロードが示されています。

自作UI、独自ノード、量子化、追加LoRA、長尺、高解像度を一度外し、この基準で成功するかを確認します。公式構成でも失敗するなら環境側、公式構成は成功して拡張時だけ失敗するなら追加部分が主な調査対象です。

記録すべき環境情報

OS、Python、PyTorch、CUDAランタイム、GPUドライバー、GPU名、VRAM、Diffusers、Transformers、Accelerateの版を記録します。nvidia-smiでGPUが見えるか、Pythonからtorch.cuda.is_available()が真になるかも確認します。

モデルのリビジョン、取得日時、Transformer、VAE、LoRAの識別子を残します。latestだけに依存すると、後日ファイルが更新された際に再現できません。動いた環境は依存版をロックファイルへ保存します。

エラー発生時刻、実行コマンド、最後の数十行だけでなく、最初に現れた例外も保存します。末尾の「処理に失敗した」という二次エラーより、その前のファイル不足や型不一致が原因である場合があります。

起動前に失敗する場合

Pythonモジュールが見つからない

ModuleNotFoundErrorが出たら、実行中のPythonとインストール先が同じかを確認します。pipだけを呼ぶと別のPythonへ入ることがあるため、対象環境でpython -m pipを使います。仮想環境を有効にし、実行ファイルの場所を確認します。

依存関係を無計画に最新版へ上げると、別のAPI変更が起きます。公式例を動かせる組み合わせを新しい仮想環境で作り、既存環境を上書きしません。動作後に一つずつ更新します。

CUDAが利用できない

PyTorchがCPU版、ドライバーとCUDA対応が合わない、コンテナへGPUが渡っていない、GPUが他の処理に専有されている可能性があります。PyTorchの版と、そのビルドが想定するCUDAを確認します。

単にCUDA Toolkitを追加すれば解決するとは限りません。PyTorch配布物、NVIDIAドライバー、実行環境の組み合わせを公式の対応表で揃えます。社内サーバーでは、コンテナランタイムとGPU割り当ても管理者へ確認します。

モデルを読み込めない場合

AnimeGen-I2Vの公式例は、transformerとtransformer_2をAnimeGen-I2Vから、VAEとパイプラインの基盤をWan 2.2 I2V A14BのDiffusers版から読み込みます。さらに高・低ノイズ側へ別々のLightning LoRAを適用します。ファイル名やサブフォルダーを取り違えると読み込みに失敗します。

ダウンロードが途中で切れた、大きなファイル管理のポインタだけを取得した、キャッシュが破損した、ディスク容量が不足した可能性もあります。必要ファイルの大きさ、チェックサムが提供されていれば照合し、キャッシュ削除は対象を特定してから行います。

認証が必要な取得元では、トークンの権限と有効期限を確認します。トークンをコード、ログ、スクリーンショットへ書かず、環境の秘密管理を使います。利用条件への同意が必要なモデルでは、ブラウザー上の承認も確認します。

CUDA out of memoryが出る場合

AnimeGen-I2Vは14B規模で、公式は高性能NVIDIA GPUを勧め、ローカルではRTX 4090以上を目安にしています。高解像度、長い秒数、多いフレーム、複数同時生成はメモリを増やします。

まず832×480、短い秒数、一件生成へ戻します。公式例のCPUオフロードとレイヤーキャスティングが実際に有効かを確認します。他のGPUプロセスを終了し、実行前後の使用量を記録します。

解像度を半分にしたときのメモリは、単純に半分になるとは限りません。空間と時間の両方向でテンソルが増えるため、幅、高さ、フレーム数を一つずつ下げます。複数候補は並列でなく直列にします。

CPUオフロードはGPUメモリを減らす一方、CPUメモリと転送時間を使います。GPU使用量が低いのにプロセスが止まる場合は、CPU RAM、スワップ、ディスクI/Oも確認します。共有サーバーでは、他利用者の負荷も記録します。

処理が極端に遅い、止まって見える場合

初回はモデル取得と読み込みがあるため、二回目以降より長くなります。進捗表示が更新されなくても、CPUからGPUへの転送やシェーダー準備が進んでいる場合があります。GPU、CPU、メモリ、ネットワーク、ディスクを別々に監視します。

誤ってCPU推論になっていないか、デバイス設定を確認します。bfloat16を利用できない機器、Apple系デバイス、NVIDIA以外のGPUでは、公式のCUDA例をそのまま使えないことがあります。未対応環境を推測で変換せず、利用するPyTorchとDiffusersの対応を確認します。

高解像度や長尺を一度に実行せず、二秒程度の小さな試験で一フレーム当たりの時間を測ります。初回ロード、推論、動画エンコードを分けると、遅い工程を特定できます。

入力画像でエラーになる場合

ファイルが存在するか、実行ユーザーが読めるか、画像が正常に開けるかを確認します。拡張子だけJPEGで中身が別形式、CMYK、壊れた透過情報、非常に大きい画像などは、読み込みや変換で問題になる場合があります。

一度、標準的なRGBのPNGまたはJPEGへ変換します。EXIFの回転を画素へ反映し、意図した向きになっているか確認します。入力ファイルを上書きせず、変換版を別名で保存します。

公式例は最大面積と縦横比から幅と高さを計算し、VAEとTransformerが要求する単位へ丸めます。任意の寸法をそのまま渡さず、元画像の縦横比を保ちます。フレーム補間では開始と終了の二枚を同じ寸法へ揃えます。

MP4を書き出せない場合

推論が終了してフレーム画像は得られるのにMP4がない場合、エンコード工程を調べます。公式の依存にはimageioとimageio-ffmpegが含まれます。FFmpeg実行ファイルが見つかるか、出力先に書き込み権限があるか、ディスク容量が残っているかを確認します。

出力パスの親フォルダーが存在しない、同名ファイルが他のアプリで開かれている、ファイル名に環境が扱えない文字がある場合もあります。まず短い英数字の絶対パスへ保存します。

問題の切り分けでは、生成フレームを数枚のPNGとして保存できるか試します。画像保存が成功し動画化だけ失敗するなら、モデルの再実行ではなくエンコーダーを修正します。重い推論結果をメモリだけに残さず、再エンコードできる中間形式を保存します。

動画は出るが動かない場合

主要動作が曖昧、複数の動作が競合、通常プロンプトと否定プロンプトが矛盾、入力画像の姿勢から要求動作へ移りにくい可能性があります。公式例の否定側にはstopとwaitがあり、動かない出力を抑える設計です。

「自然に動く」ではなく、「一度まばたきする」「右手を肩までゆっくり上げる」のようにします。人物動作とカメラ移動を分け、短い秒数へ戻します。元画像で動かす手足が隠れている場合は、プロンプトより素材を直します。

シードを固定して一項目ずつ変えます。その後、複数シードで再現するか確認します。一つの出力が動かなかっただけで、環境エラーと判断しません。

顔、手、背景が崩れる場合

これはプログラムの例外ではなく品質上の限界です。公式モデルカードも、複雑な人物動作、手・指・目・装飾、人物同一性、時間方向のちらつき、長いアクション、複雑な物理的相互作用を既知の限界として挙げています。

顔と手を大きく明瞭にした入力へ変え、動作を小さくし、背景を簡潔にします。長い演技は複数カットへ分けます。文字やロゴは生成せず、後処理で正本を重ねます。

開始と終了が決まっている場合はフレーム補間を検討します。ただし二枚の顔、衣装、背景、画角が大きく違うと、中間で無理な変形が起きます。素材間の差を小さくします。

ComfyUIでだけ失敗する場合

モデル本体が公式Python例で動くか確認します。動くなら、ComfyUI本体、カスタムノード、ワークフロー、モデル配置、ノードが期待する形式のどこかに差があります。

ワークフロー作成時のバージョンと現在のノード版を確認します。欠けたノードを名称だけが似た別ノードへ置き換えると、パラメーターやテンソル形式が合わない場合があります。共有ワークフローには、必要なカスタムノード、コミット、モデル配置を添えます。

UIのエラー表示だけでなく、起動したターミナルのログを確認します。秘密情報と個人パスを除外してから、再現手順、最小ワークフロー、環境情報と共に報告します。

再発を防ぐ運用

動作した環境をコンテナやロックファイルで固定し、モデルと依存ライブラリの更新日を管理します。本番環境を直接更新せず、複製した検証環境で代表画像を再生成します。

代表テストには、顔、手、髪、背景、カメラ、フレーム補間を含む少数の素材を用意します。成功率、処理時間、最大メモリ、出力の差を更新前後で比較します。問題があれば以前の版へ戻せるよう、設定と重みの識別子を保存します。

まとめ

AnimeGen-I2Vで生成できないときは、公式の最小構成へ戻し、環境、モデル取得、メモリ、入力、推論、保存、品質の順に切り分けます。複数の変更を同時に行わず、最初の例外と実行条件を記録してください。

公式例で一件成功した後、解像度、秒数、追加ツールを一項目ずつ戻します。入力と設定の品質改善は、AnimeGen-I2Vで画像から動画を作るコツで詳しく解説しています。

よくある質問

CUDA out of memoryでは何を最初に下げますか

公式に近い832×480、一件生成、短い秒数へ戻し、CPUオフロードを確認します。その後、幅、高さ、フレーム数を一項目ずつ調整します。

GPU使用率が低いのに処理が遅いのはなぜですか

CPUオフロード、モデル読み込み、ディスクI/O、CPUメモリ不足、動画エンコードがボトルネックの可能性があります。各資源を別に監視します。

フレームは生成できたのにMP4がありません

FFmpeg、imageio-ffmpeg、出力先の権限と容量を確認します。まずPNGを保存し、推論とエンコードを切り分けてください。

エラー全文を公開して質問してもよいですか

APIトークン、ユーザー名、社内パス、画像名などが含まれないか確認してください。秘密情報を削除し、環境と最小再現手順を添えます。

参考資料

トップへ戻る