Skip to content

ローカル PC でプロンプトから簡単に動画を生成します。

License

Notifications You must be signed in to change notification settings

Zuntan03/EasyPromptAnime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

簡単プロンプトアニメ / EasyPromptAnime

The GUI tool supports English. Please translate this page using your browser's translate function.

AnimateDiff prompt travel を使って、ローカル PC で簡単に動画を生成する環境です。
[ 概要 ] [ Colab版(無料アカ不可) ]
title

  • プロンプトだけで FullHD のスムーズな長尺動画を生成
  • セットアップ・2段アップスケール・フレームレート補間などが自動
  • AnimateDiff prompt travel の生成設定ファイルを流用可能

作例

不具合情報

  • コントロールネット使用時にプレビュー開始を 0 以外にすると動画が生成できません。

主な更新履歴

  • 2023/12/03
    • アニメ生成で LCM と HiresFix に対応しました。
      • アニメ生成の LCM を使用 を有効時のおおよその設定です。
        • スケジューラ: LCM
          • スケジューラLCM がない場合は、EasyPromptAnimeEditor.ini ファイルを削除してエディタを再起動してください。
        • ステップ数: 6
        • ガイダンススケール: 2.0
      • LCM を使用 と組み合わせて HiresFix を使用 を利用できます。
        • ステップ数: 6 から 9 に増やします。
        • 基本高さ に、2倍のサイズを指定します。
      • モデル相性やプロンプト調整はシビアになります。
        • モーションモジュールを mm-Stabilized_high にしたほうが安定する場合もあるそうです。
        • 各機能との相性の課題が多岐に渡るため、デフォルトでは LCM を無効にしています。

過去の更新履歴

動作環境

  • Windows 10 以降(Update済み、管理者権限あり)の PC で、/Windows/System32 にパスが通っている
  • 最近の NVIDIA Geforce RTX VRAM 8BG 以上
  • パスを通した Python 3.10.6Git for Windows

セットアップ

ウィルスチェックソフトの Avast の保護が有効だと、インストールに失敗します。
初回の動画生成の成功まで一時的に保護を無効にするか、他のウィルスチェックソフトをご利用ください。

Stable Diffusion web UI や ComfyUI は終了した状態で、セットアップしてください。

  1. 動作環境の Python 3.10.6 を導入していない場合は、Python のインストール をします。
  2. 動作環境の Git for Windows を導入していない場合は、Git for Windows のインストール をします。
  3. Civitai がダウンしていないか確認します。
  4. Setup-EasyPromptAnime.bat右クリックから「名前をつけてリンク先を保存…」 でインストール先のフォルダ(英数字のみの浅いパス、 スペース不可)にダウンロードして実行します。
    • 「WindowsによってPCが保護されました」と表示されたら、「詳細表示」から「実行」します。
  5. インストールが終わるとローカルエディタ EasyPromptAnimeEditor.bat が立ち上がります。
    インストールが終わると、Google Colabでプロンプト編集用の「簡単プロンプトアニメエディタ」が立ち上がります。

セットアップ FAQ

  • セットアップや更新で curl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x00000000) - 失効の関数は証明書の失効を確認 できませんでした。 といったエラーが発生する
    • ネットワークのセキュリティチェックに失敗しています。
    • アンチウィルスソフトの Avast 有効時に発生し、無効にしたら問題なくインストールできたとの事例報告がありました。
  • 動画の生成が一晩経っても終わらない、サンプル(sample/UpscaleGacha.bat、RTX 3060 で約 15分)の生成に長い時間が掛かる
  • セットアップでダウンロードされるモデルで動画を正常に生成できない
    • モデルのダウンロードに失敗している場合がありますので、animatediff-cli-prompt-travel/data/models/sd/ にある該当ファイルを削除し、src/Setup.bat で再ダウンロードしてください。

更新方法

簡単プロンプトアニメを更新するには、Update.bat を実行します。

つかい方

12秒のアニメをとりあえず生成してみたい方は、sample/UpscaleGacha.bat を実行してみてください(RTX 3060 で約 15分)。

  1. OpenClabEditor.bat で「簡単プロンプトアニメエディタ」を開きます。
  2. ひとつめのを押してプロンプト入力欄を表示し、プロンプトやパラメータを編集して、ふたつめのを押すと動画生成用の生成設定ファイル (*.json) をダウンロードします。
  3. 生成設定ファイルをインストール先 ('Setup-EasyPromptAnime.bat' を実行したフォルダ)にある Generate.bat にドラッグ&ドロップすると、生成設定ファイルの場所に動画を生成します。
    • 生成した動画とフレームレート補間した動画と再エンコードした動画を生成します。

FAQ

効率的にシードガチャをしたい

  • アップスケールを無効にしたり、アップスケールのサイズを下げたりすることで効率的にシードガチャができます。
  • プロンプトをざっくり詰める段階なら、最初の生成解像度を下げたり、短時間にして先頭付近のキーフレームで検証するのも手です。

ガチャ結果動画のシード値を知りたい

  • mp4 ファイル名先頭の 日時(MMDD_HHMM_SS)-数値数値 部分がシードです。
  • animatediff-cli-prompt-travel/(output|upscaled|refine)/ 以下にある prompt.json でも確認できます。

真っ黒の動画が生成されてしまう

以下のいずれかの手順で、改善するかもしれません。

  1. FixCheckpoint.bat でモデルを修正します。モデルが書き換わる可能性があります。
  2. 生成設定ファイルのファイル名に -V を付け足します(改善報告あり)。
  3. モデルの VAE を差し替えます。
  4. 生成設定ファイルのファイル名に -X を付け足します(未検証、-V, -v, -x との併用も)。
  5. 別のモデルを使います。

簡単プロンプトアニメエディタ」の初期値や選択肢を変えたい

  • Colab のメニュー ファイル - ドライブにコピーを保存 して、一番下の コードを表示 から該当部分を編集します。

モデルを追加したい

  1. FixCheckpoint.bat でモデルを修正します。モデルが書き換わる可能性があります。
  2. animatediff-cli-prompt-travel/data/models/sd/ にモデルを置きます。
  3. Colab ソースの model_name = "nadenadesitai_v10" # @param [...]... を書き換えます。

AnimateDiff とモデルに相性があり、黒画像になる、あまりアニメーションしない、といった場合があります。

stable-diffusion-model-toolkit によるモデルへの VAE 埋め込み方法

  1. Stable Diffusion web UIstable-diffusion-model-toolkit をインストールします。
  2. Stable Diffusion web UI の Toolkit タブで リフレッシュ してから 入力 で VAE を埋め込むモデルを選択して 読み込み ます。
  3. 高度な設定 に移り、Component - Class から VAE-v1 を選択します。
  4. 実行 - ファイル で埋め込む VAE を選択して Import します。
  5. 名前 で VAE を埋め込んだモデルのファイル名を指定して 保存 で、モデルフォルダに VAE を埋め込んだモデルが保存されます。
  6. animatediff-cli-prompt-travel/data/models/sd/ に VAE を埋め込んだモデルを移動します。

モーションモジュールを追加したい

  1. animatediff-cli-prompt-travel/data/models/motion-module/ にモーションモジュールを置きます。
  2. Colab ソースの motion_module = "mm_sd_v15_v2.ckpt" # @param [...]... を書き換えます。

LoRA を使いたい

  • animatediff-cli-prompt-travel/data/lora/ に LoRA を置きます。
    • 使える LoRA は通常の LierLa 形式で、C3Lier(Locon) 以降は使えないっぽいです。
  • LoRA の読み込みは、プロンプトエディタの L: で始める行で指定します。

TI を使いたい

  • animatediff-cli-prompt-travel/data/embeddings/ に TI を置きます。

ControlNet を使いたい

  • AnimateDiff prompt travel がそのまま動作していますので、生成設定ファイルを手書きすれば使えます。
  • そのうち対応するかも?

Widlcard を使いたい

  • animatediff-cli-prompt-travel/wildcards/ にワイルドカードを置きます。

Refine がメモリ不足で落ちる

  • context を半分にしていますが、落ちますね。
  • 初回のアップスケールで解像度を抑えつつ Refine を使用、とかもできましたが、重い印象でした。

ストレージ容量が足りない

  • まずは WizTree で状況を確認してください。それでもストレージ容量が足りなかったら、買ってください。

Colabで編集する意味ある?

  • ありません。「Colab版簡単プロンプトアニメ」のコードを流用しただけなので、利用者が多そうだったらローカルエディタを用意する、かも。

各ツールの説明

OpenColabEditor.bat

簡単プロンプトアニメエディタ」を開きます。

Generate.bat

生成設定ファイルをドラッグ&ドロップすると、動画を生成します。

GenerateForever.bat

生成設定ファイルをドラッグ&ドロップすると、動画を生成し続けます。終了時は Ctrl+C で止めてください。

GenerateFolder.bat

生成設定ファイルが入っているフォルダをドラッグ&ドロップすると、生成設定ファイルの数だけ動画を生成します。

GenerateFolder.bat

生成設定ファイルが入っているフォルダをドラッグ&ドロップすると、生成設定ファイルの数だけ動画を生成し続けます。終了時は Ctrl+C で止めてください。

Update.bat

簡単プロンプトアニメと AnimateDiff prompt travel を更新します。

FixCheckpoint.bat

モデルをドラッグ&ドロップすると、モデルに問題があれば AnimateDiff 用に修正します。モデルが書き換わったかどうかは更新日時で確認してください。

FpsX4.bat

mp4 をドラッグ&ドロップすると、RIFE で FPS を4倍にします。サイズが大きくなるので再エンコード版も生成します。

  • 第 2 引数に RIFE による中割りの分割回数(FPSの倍増を何回実施するかの)を指定できます。FPSが 1 なら 2倍、2 なら 4倍、3 なら 8倍、4 なら 16倍になります。未指定や 0 なら 2 になります。
  • 第 3 引数に RIFE の分割後の FPS を指定できます。 この FPS 指定では画像の枚数を変更せずに FPS を適用しますので、アニメーションの速度と長さが変わります。 1秒の 10FPS の動画を RIFE で 4倍にして 40枚の画像がある状態で、第三引数で 60FPS を指定すると、アニメーションが早くなり 0.66秒で再生が終わります。逆に 8倍で80枚にして 60FPS を指定した場合は、ゆっくり再生されて 1.33秒で再生が終わります。0 なら未指定です。
  • 第 4 引数で FFmpeg による再エンコード時の FPS を指定できます。再生速度や動画の長さは変わりません。0 なら未指定です。
  • 第 5 引数で FFmpeg による再エンコード時の crf を指定できます。未指定や 0 なら 20 になります。

Frames2Mp4.bat

Tile アップスケールは mp4 を生成しませんが、animatediff-cli-prompt-travel\upscaled にある連番 png が入っているフォルダをドラッグ&ドロップすると、mp4 を生成します。

DeleteOutput.bat

ストレージ容量を消費しがちな animatediff-cli-prompt-travel/output/*/, upscaled/*/, refine/*/ を削除します。

Mp4Crf26.bat, Mp4Crf32.bat, Mp4Crf38.bat

mp4 をドラッグ&ドロップすると、Crf26 で 1/2、Crf32 で 1/4、Crf38 で 1/8 ぐらいのサイズの mp4 に変換します。

XMp4.bat, XMp4W1920.bat, XMp4W1200.bat, XMp4H1900.bat, XMp4H1200.bat

mp4 をドラッグ&ドロップすると X(Twitter) アップロード用の動画(40FPS, 25Mbps)を生成します。
アップロード時に再エンコードされる前提ですので、省サイズではありません。

  • Xで動画を共有および視聴する方法
  • 動画の大きさが W1920 x H1200 か W1200 x H1900 に収まらない場合は、XMp4W1920.bat, XMp4W1200.bat, XMp4H1900.bat, XMp4H1200.bat を使用して、W1920 x H1200 か W1200 x H1900 に収まるように縮小します。
  • mp4 ファイル名の末尾が *-D2e.mp4 な再エンコード後の mp4 でなく、*-D2.mp4 な再エンコード前の mp4 から生成したほうが、品質が高くなります。

AnimateDiff prompt travel 利用者向け情報

既存のコンフィグファイルのファイル名にオプションを指定することで、Generate.bat が色々やってくれます。
ハイフン(-)は引数の指定に使用するため、ファイル名には使えません。

例) Config-L30-C16-W448-H544-T1088-T1632.jsonGenerate.bat にドロップ

  1. animediff generate -L 30 -C 16 -W 448 -H544
  2. animediff tile-upscale -H 1088 から FFmpeg で mp4 生成
    • -R なら animediff refine -C (context / 2)
  3. animediff tile-upscale -H 1632 から FFmpeg で mp4 生成
  4. RIFE でフレーム補間

ファイル名オプション一覧

キー デフォルト値 説明
L 30 動画のフレーム総数を指定します。
C 16 AnimeDiffのコンテキスト長を指定します。
W 384 動画の幅を指定します。
H 512 動画の高さを指定します。
T - Tile アップスケール後の動画の高さを指定します。2回指定できます。
R - Refine アップスケール後の動画の高さを指定します。2回指定できます。
D 2 RIFE による中割りの分割回数を指定します。FpsX4.bat の第 2 引数説明参照。
I 0 RIFE による中割り後の FPS を指定します。FpsX4.bat の第 3 引数説明参照。
F 0 FFmpeg で mp4 に変換する際の FPS を指定します。FpsX4.bat の第 4 引数説明参照。
M 20 FFmpeg で mp4 に変換する際の crf を指定します。FpsX4.bat の第 5 引数説明参照。
U 10 Tile アップスケール後の画像を MP4 にする際のFPSを指定します。
v - 動画の生成で half-vae を有効にします。
V - 動画のアップスケールで half-vae を有効にします。
x - 動画の生成で xFormers を有効にします。
X - 動画のアップスケールで xFormers を有効にします。

参照

ツール・ライブラリ

ライセンス

このリポジトリのスクリプトやドキュメントは、MIT Licenseです。

This software is released under the MIT License, see LICENSE.txt.

About

ローカル PC でプロンプトから簡単に動画を生成します。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published