Skip to content

An environment where you can easily generate videos on your local PC using AnimateDiff prompt travel

License

Notifications You must be signed in to change notification settings

jags111/EasyPromptAnime

 
 

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 の生成設定ファイルを流用可能

作例

主な更新履歴

  • 2023/10/20
    • モーション LoRA に対応しました。
      • ダウンロード メニューの モーション LoRA からダウンロードできます。
      • LoRAと似たように M: v2_lora_ZoomIn: 1.0 とプロンプトに記載すると使えます。
    • 動画の出力先にファイルも保存するようにしました。
    • ファイル メニューに 新規作成終了 を追加しました。
    • 変更が未保存の場合に確認するようにしました。
  • 2023/10/17
    • 簡単プロンプトアニメのエディタの状態を保存して、読み込めるようにしました。
  • 2023/10/15
    • ControlNet の tile, canny, depth, inpaint, ip2p, lineart, lineart_anime, mlsd, normalbae, openpose, scribble, seg, shuffle, softedge に対応しました。
  • 2023/10/14
    • ダウンロード メニューの LoRA に汎用的な LoRA を追加しました。
    • 設定 メニューに 現在のプロンプトを起動時のプロンプトにする現在の設定を起動時の設定にするライト/ダークモードの切り替え(再起動後に適用) を追加しました。
  • 2023/10/12
    • プロンプト入力欄で 元に戻す(Ctrl+Z) , やり直し(Ctrl+Y) を使えるようにしました。
    • ダウンロード メニューの項目を充実しました。
  • 2023/10/10
    • ツール メニューの 使えない LoRA を使えるように変換 でこれまで使えなかった LoRA が使える場合があります。
    • アニメ メニューのアップスケールで、アニメ生成とアップスケールを別々に実行できます。
      • 生成と同じオプションでアプスケする 生成時の設定で初回アップスケール と、エディタの設定を適用して色々変更できる 現在の設定で初回アップスケール です。
      • 黒画面への対処や、モデルやLoRAパラメータを変えてのアップスケールができます。
      • これに合わせてタイルアップスケールの強度と開始と終了を設定できるようにしました。
    • IPアダプタ生成時に画像をプロンプトとして使えます
      • プロンプトとして使いたい画像をフォルダにまとめ、ファイル名で 010.png などとフレーム数を指定する必要があります。
    • ダウンロード からモデルやモーションモジュールなどをダウンロードできます。
      • おすすめのものがあれば教えてください。
  • 2023/10/09
    • ローカル版エディタをα版としてひっそり公開しました。
      • EasyPromptAnimeEditor.bat で起動します。
      • α版なのでドキュメントはまだありません。
      • Colab 版エディタは廃止予定です。
    • セットアップの仕組みを大幅に変更して、最初にダウンロードするファイルの量を大幅に減らしました。
      • ローカル版エディタの「ダウンロード」メニューでダウンロードできます。
      • これまでインストールできていたのに、再インストールしても動かない場合は知らせてください。
  • 2023/09/29
    • フォルダ内の生成設定ファイルで一通り生成する GenerateFolder.bat と、これを連続生成し続ける GenerateFolderForever.bat を追加しました。
  • 2023/09/28
    • 昨日の「インストール時のエラーチェックを強化しました。」に問題があり、インストールできなかった不具合を修正しました。
    • animatediff のコマンドでエラーが発生した際に、処理を終了するようにしました。
      • GenerateForever.exe も同様に、処理を終了するようにしました。
  • 2023/09/27
    • インストール時のエラーチェックを強化しました。
    • 0~9時に生成した際に、動画ファイル名の時間部分をゼロパディングするようにしました。
    • モデルファイルなどのシンボリックリンクを削除しないようにしました。
  • 2023/09/26
  • 2023/09/25
    • FFmpeg のインストールに失敗する不具合を修正しました。
      • Update.bat を実行すると修正します。
  • 2023/09/24
    • 今回の更新では Update.bat を 2回!実行してください(Update.bat を更新したため)。
    • AnimateDiff prompt travel の更新に対応しました。
      • AnimateDiff 用にモデルを修正する FixCheckpoint.bat を追加しました。
        が、手元で利用しているモデルは修正不要でした。
    • 生成した動画のサイズを低減する Mp4Crf(26|32|38) を追加しました。
    • 生成した動画から X(Twitter) 投稿用の動画を生成する XMp4*.bat を追加しました。
  • 2023/09/23
    • 生成する動画のデフォルトの FPS を、様々なサービスとの互換性の観点から 40FPS にしました。
      • 生成設定ファイル名に -D3 を付け足すと、以前と同様に 80FPS になります。
      • FPS 指定の詳細は ファイル名オプション一覧FpsX4.bat の説明を参照してください。
    • 生成した mp4 ファイル名に、日時のプレフィックスを追加するようにしました。
      • 同一シードで生成しても、mp4 ファイルを上書きしなくなります。
  • 2023/09/22
    • motion-module に mm-Stabilized_high.pth と mm-Stabilized_mid.pth を追加しました。
      • Update.bat を実行するとダウンロードします。
    • 同一シードで同じフォルダに再出力した際に、正しくフレーム補間されない不具合を修正しました。
      • インストール済みの方は Update.bat を実行してください。
    • インストーラーで C:\Windows\System32 にパスが通っていない場合にエラー扱いにしました。
  • 2023/09/21
    • 公開

動作環境

  • 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

An environment where you can easily generate videos on your local PC using AnimateDiff prompt travel

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 86.2%
  • Batchfile 13.8%