
複数モデルを混ぜて新しいモデルを作ることをマージと言います。
SDWebUIやComfyUIのノードでできるものもありますが、アーキテクチャによって非対応だったり、上手くいかなかったりすることがあるみたいです。
Chattiori’s Model Mergerは、Stable Diffusion系(SD1.x/2.x/XL)やFlux.1に加えて、Anima(NVIDIA Cosmosベースのアニメ向けモデル)のマージにも対応しているとのことだったので、今回はこれでAnimaモデルをマージするところまでやってみます。
- Chattiori Model Mergerの導入方法
- 基本のマージコマンドの書き方(weighted sum)
- Animaモデル同士を実際にマージする手順
Chattiori Model Mergerとは?
Chattiori’s Model Merger(以下Chattiori)は、複数のチェックポイントを指定した比率でマージする、コマンドライン専用のツールです。
GUIは無く、ターミナルからコマンドで実行するもの。
CPUだけでも動くので、VRAMが少ない環境でもマージできるそうです。
加重和(weighted sum)や差分マージ(add difference)といった定番に加えて、cosineで構造を保ちつつ別モデルのディテールだけ混ぜる、といった凝った方式まで一通り揃っています。
対応アーキテクチャはSD1.x/2.x/XL・Flux.1・Z-Image・Animaなど。
なお、このリポジトリには2026年6月時点でライセンスファイルが見当たらず、利用条件が明記されていません。
主な特徴
- 2モデル・3モデルのマージに対応
- 加重和・差分・幾何平均など多数のマージ方式(29種類)
- cosineで一方の構造を保ちつつ別モデルのディテールを混ぜるモード
- ブロック別・要素別の比率指定にも対応
- VAEの焼き込み、プルーニング、fp16/fp8保存
- マージ内容(レシピ)をメタデータに記録
- CPUで動作(GPUは任意)
- SD系・Flux.1・Animaなどをアーキテクチャ自動判別(detect_arch)

Chattiori Model Mergerのインストール
ChattioriはPythonスクリプトなので、リポジトリをcloneして依存を入れるだけで使えます。
PythonとGitが入っている前提です。
GPUを使わないなら、CPU版のtorchでも問題ありません。
あとscipyが足りてないみたいで、別途手動でインストールしてます。
git clone https://github.com/Faildes/Chattiori-Model-Merger.git
cd Chattiori-Model-Merger
python -m venv venv
.\venv\Scripts\python.exe -m pip install -r requirements.txt scipy基本の使い方
基本の形はこうです。
python merge.py モード モデルのフォルダ モデル0 モデル1 [オプション]先頭でマージ方式(モード)を指定して、モデルが置いてあるフォルダと、混ぜたい2つのファイル名を渡します。
一番基本のweighted sum(加重和)で2つを混ぜる場合はこんな風に書きます。
python merge.py WS models "A.safetensors" "B.safetensors" --alpha 0.5 --output merged_ws --save_safetensors --save_halfよく使うオプションはこのあたりです。
| –alpha | 混ぜる比率(0.5で半々、低いほどモデル0寄り) |
| –output | 出力ファイル名(拡張子なし) |
| –save_safetensors | safetensors形式で保存(付けないと.ckpt) |
| –save_half | fp16で保存(ファイルが軽くなる) |
| –device | cpu / cuda:0(既定はcpu) |
Animaモデルを実際にマージしてみる
今自分のPCに WAI-ANIMA と AMIXA があるのでこれを5:5で混ぜてみます。
.\venv\Scripts\python.exe merge.py WS "C:\StabilityMatrix-win-x64\Data\Models\DiffusionModels\anima" "waiANIMA_v10Base10.safetensors" "amixaAsyncsMIXANIMA_v1.safetensors" --alpha 0.5 --output anima_wai_amixa --save_safetensors --save_halfログの最後にDone!と出たら完了です。

以下同じプロンプト・seed値で生成した画像です。
左からWAI-ANIMA、AMIXA、mergeモデル。
二つがちょっと似てるモデルなので、5:5だとちゃんと混ざってるのか微妙でした。
一応mergeモデルで画像生成はできてるので、merge自体はできてると思います。
ちゃんと比較したい場合は違う特徴のモデルを混ぜたり、割合を変えた方がいいかもしれません。

主なマージ方式
WS以外にもモードがたくさんあるみたいです。
| モード | 内容 | 3つ目のモデル |
| WS | 加重和(定番の線形ミックス) | 不要 |
| AD | 差分マージ(model1 − model2 の差を足す) | 必要 |
| SIG / GEO / MAX | なめらか / 幾何平均 / 要素ごとの最大 | 不要 |
| cosine0/1/2 | 一方の構造を保ちつつ他方のディテールを注入(–cosineN) | 方式による |
| SPRSE | 差分の大きい部分だけ適用 | 必要 |
| FREQ | 畳み込みの低/高周波を混ぜる | 必要 |
便利なオプション
他にも以下のようなオプションがあります。
- VAE焼き込み:–vae のパス指定で first_stage_model を差し替え
- プルーニング:–prune(–keep_emaでEMAのみ残す)でファイルを軽量化
- 保存形式:–save_half(fp16)/–save_quarter(fp8、実験的)
- メタデータ:既定で sd_merge_recipe(方式やα/β)が記録される(–no_metadataで無効)
- ランダム比率:–rand_alpha “min,max” で比率を振ってガチャ的に試せる
注意点
repoに書いてあった注意点です。
- 3モデルが必須のモード(AD・sAD・MD・SIM・TD・TRS・ST など)は model_2 が要ります
- cosine0/1/2は同時に使えません(排他)
- 低VRAM環境は –device cpu(既定)が無難。GPUを使うとモデルサイズ分のVRAMが要ります
- XLのブロックウェイトは25桁が自動変換されます
まとめ
SDWebUI Neoのcheckpoint mergerでも普通にできるみたいですが、いろいろオプションがあったので今回Chattiori’s Model Mergerを使ってみました。
フォルダとファイル名とmerge方法を指定するだけなので、コマンドで自分なりに調整したいという方には向いてると思います。
mergeモデル作ってみたい方はぜひ試して見てください。
以上Chattiori Model Mergerの使い方を紹介しました。
参考になれば幸いです。
