CivArchive
    minimax_h3_i2v_t2v - minimax_h3_i2v_t2v
    NSFW
    Preview 140988144

    低VRAM用MiniMax H3 I2V T2V

    ◎簡単にMiniMax H3を使ってみたいと思い作ってみました、素人の制作したものなので高機能なもの搭載されていません。5070Ti で5秒動画3分~9分程度で生成できました

    civitaiにはもっと高機能なもの沢山あります hohoho

    ----------------------------------------------------------------------------------------------------

    5070Ti (16GB) 最適構成

    Diffusion Model (UNET) - Blackwell NVFP4, 12.5GB

    Text Encoder - INT4 ConvRot, 15.0GB (16GBカード向け安全マージン優先・最終推奨)

    VAE (公式、量子化なし)

    4-step Turbo LoRA (公式lightx2v配布, ComfyUI変換版)

    保存先

    ComfyUI/models/
    ├── diffusion_models/minimaxH3/minimax_h3_fl2va_pruned_nvfp4.safetensors
    ├── text_encoders/qwen3vl_32b_minimax_h3_int4_convrot.safetensors
    ├── vae/minimax_h3_video_vae_fp16.safetensors
    ├── vae/minimax_h3_audio_vae_fp32.safetensors
    └── loras/minimax_h3_fl2v_lightx2v_turbo_4step_v0.1_comfy.safetensors

    合計DL容量: 約33GB (12.5+15.0+4.85+0.56+約0.3[rank21 LoRA])

    初回テスト設定: 736x1280, 124フレーム(約5.2秒), steps=4, res_multistep/simple, Turbo LoRA strength 0.8 慣れたら Ratio to Size / PrimitiveFloat(秒数) で解像度・尺を調整してください(17n+5フレーム数制約はComfyMathExpressionノードが自動計算)。


    追加改善 (junzhisangcun氏のR2V検証記事を反映)

    ⚠️ 必須: H3 AdaLN LoRA Fix ノードを追加pruned系UNET + dense学習のTurbo LoRAの組み合わせは、LoRAの一部キー(adaln_proj等)が無警告でスキップされる既知の問題あり。

    cd ComfyUI/custom_nodes
    git clone https://github.com/PlagueKind/ComfyUI-PlagueKind-Nodes

    インストール後、Power Lora Loaderの出力とUNETの間(またはドキュメント記載の位置)に H3 AdaLN LoRA Fix ノードを挿入してください。

    推奨: H3 SLA Attention ノードを追加(疎注意、VRAM増加なしで1.4-1.75倍速)

    • 配置: チェーン最後、Scheduler と Guider の両方に接続(これが無いと効かない)

    • sparsity_ratio: 0.90

    • block_size: 64 (128だと音声が不自然になる)

    • protect_audio: ON

    • min_seq_len: 8192

    • Triton必須(sageattention導入済みなら大抵入っている)。非対応環境では自動でdenseにフォールバックするので安全に追加できます。

    • 効いているか確認: stderrログに SLA: ... kept (XX% sparse) ... displaced attention_sage と出ればOK。attention_pytorchと出たらsageattentionが無効。

    Turbo LoRAをrank圧縮版に変更済みminimax_h3_fl2v_lightx2v_turbo_4step_v0.1_comfy_resized_avg_rank_21_bf16.safetensors(Kijai/MiniMax-H3_comfy) — フルランク版より軽量、動作は同等。

    速い動きのカットに注意4step Turboは速い動き(武器を薙ぐ、ダンス等)で破綻しやすいとの報告。その場合は8step版LoRA(strength 1.0, sampler=res_multistep)に切り替えてください。


    起動フラグ(最新版)

    set PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
    .\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --output-directory "G:\output" --enable-manager --enable-manager-legacy-ui --reserve-vram 1.5 --use-sage-attention --disable-pinned-memory
    echo If you see this and ComfyUI did not start try updating your Nvidia Drivers to the latest. If you get a c10.dll error you need to install vc redist that you can find: https://aka.ms/vc14/vc_redist.x64.exe
    pause

    変更履歴

    • --disable-pinned-memory: 無いとComfyUIがRAMの40%をページアウト不能に固定し、バッチ処理や設定変更を繰り返すと同一設定でも4倍遅くなる現象があるため追加(単発実行では約10%遅くなるだけ、GPU使用率100%のまま遅くなるので外形からは気づけない点に注意)。

    • --reserve-vram: 1.0 → 1.5に増量。736x1280・5秒(124フレーム)構成でOOMが頻発したため。

    • PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True: 断片化対策として追加。無害なので常時付けてよい。


    OOMトラブルシューティング(実機で発生した事例)

    症状: 736x1280・124フレーム(5秒)構成でサンプリング中にOOM。エラー箇所はcomfy_kitchenquantize_nvfp4(MLPのswiglu活性化を推論時に動的にNVFP4量子化する処理)。

    原因: UNET重みはNVFP4で圧縮済みでも、推論時の中間活性化(activation)を都度NVFP4化するための一時バッファは別途必要。124フレーム×736×1280という巨大テンソルを丸ごと量子化しようとするため、モデル+既存キャッシュで13.48GiB使用中のところにあと1.97GiB要求→デバイス上限15.92GiBを超えてOOM。16GBカードは解像度・秒数次第でこのマージンがギリギリになる。

    対策(効果が大きい順)

    1. 秒数を減らす: PrimitiveFloat(Length in Seconds)を5→3程度に。フレーム数はmax(5, round(a*24))ベースの式で自動再計算される。活性化サイズはフレーム数にほぼ比例するので直撃で効く。

    2. 解像度を落とす: Ratio to Sizeのメガピクセル値(現状1.0)を0.75程度に。

    3. SageAttentionが実際に効いているか確認: PathchSageAttentionKJノードがauto設定でも、Blackwell(sm_120)でビルドが通っていないと黙ってeager attentionにフォールバックしVRAM消費が跳ね上がる。起動ログにUsing sage attention系の行が出ているか確認(SLA Attentionノードのログでもattention_sageと出ていればOK、attention_pytorchならフォールバック中)。

    4. LoRAを一旦切って切り分け: Fast Groups Bypasser「Lora Loader」でLoRAをバイパスし、ベースモデル単体でOOMが出るか確認。

    5. 起動フラグ: --reserve-vram 1.5 + PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True(上記「起動フラグ」節に反映済み)。


    T2V ⇔ I2V 切り替え(既存ワークフロー内で可能)

    MiniMaxH3ImageToVideoノードのfirst_frame/last_frameは共にオプション入力。専用のT2V用ノードを追加する必要はなく、画像を渡さなければそのままT2Vとして動作する仕様。

    このワークフローには切替の土台がすでにある:

    • グループ「I2V Mode」「Last Frame Mode」が存在

    • Fast Groups Bypasser (rgthree)ノード「Modes」がmatchTitle: "mode"設定済みで、この2グループを自動検出しON/OFFトグルとして表示する

    ⚠️ 要修正: 現状、ImageResizeKJv2ノード(first_frame用/last_frame用)がグループ枠から少しはみ出しており、正しく紐付いていない可能性がある。使用前に以下を確認:

    1. 「I2V Mode」の枠をドラッグで広げ、LoadImage(first_frame用)+ImageResizeKJv2(その後段)を完全に内側に収める

    2. 「Last Frame Mode」の枠も同様にLoadImage(last_frame用)+ImageResizeKJv2を完全に囲む

    T2Vにする手順

    1. 「Modes」ノードのトグルで I2V Mode: OFF、Last Frame Mode: OFF の両方を切る(片方だけでは画像による構図拘束が残ってしまう)

    2. プロンプトを画像なし前提で書き直す。被写体の外見・服装・背景・構図・カメラワークをすべてテキストで記述する(画像がある場合は構図を画像に任せられるが、T2Vでは全部言語化が必要)

    I2Vに戻す時: 「I2V Mode」をONに戻す(last_frameも使うなら両方ON)。

    Description

    minimax_h3_i2v_t2v

    FAQ

    Workflows
    MiniMax H3

    Details

    Downloads
    172
    Platform
    CivitAI
    Platform Status
    Available
    Created
    8/27/2026
    Updated
    9/12/2026
    Deleted
    -

    Files

    minimaxH3I2vT2v.zip

    Mirrors

    CivitAI (1 mirrors)

    minimaxH3I2vT2v.json

    Mirrors

    CivitAI (1 mirrors)