【Kサンプラーの「生成後の制御」値を変更してみたらこうなった。】
AI画像生成の奥深さに夢中になっている今日この頃です。
今回の実験は、ComfyUIを使っていると必ず目にする「K Sampler(Kサンプラー)」の「after generation(生成後の制御)」という設定項目です。
fixed
, increment
, decrement
, randomize
と4つの選択肢がありますが、これを変えると一体何が起こるのか。同じ設定でこの部分だけを変更し、生成される画像を比較してみることにしました。これからComfyUIを始める方や、同じ疑問をお持ちの方の参考になれば幸いです。
今回の基本設定
実験の公平性を保つため、「生成後の制御」以外はすべて同じ設定値で画像を生成しました。基準となる設定は以下の通りです。
基準とする画像
[ここに基準画像のComfyUI_00332_.pngを挿入してください]
共通の設定値
- checkpoint:
sd3.5_large_fp8_scaled.safetensors
- seed:
495136911968339
- steps:
20
- cfg:
5.0
- sampler_name:
euler
- scheduler:
normal
- denoise:
1.00
ポジティブプロンプト
(masterpiece: 1.2), (best quality: 1.2), (realistic: 1.3), ultra-detailed, 1 girl, (full body: 1.5), (beautiful face: 1.2), (perfect eyes: 1.2), (fingers: 1.3), walking energetically, (bob cut: 1.1), white skin: 1, (Japanese woman: 1.1), smiling, (enchanted expression: 1.3, dreamy gaze), gazing at the viewer, (front lighting: 1.3, soft glow), cinematic lighting, soft shadows, bokeh, exquisite details, (large breasts: 1.3, cleavage emphasis: 1.2), (white bikini: 1.3), (leg pose: 1.2, slightly bent legs), (daytime poolside background: 1.3, sparkling water, strong sunlight)
ネガティブプロンプト
close-up, bust-up, cropped, headshot, deformed_hands, deformed_feet, unnatural_lighting, disproportionate_body, navel
「生成後の制御」を変えて比較
それでは、本題である「生成後の制御」の値を4パターンで試し、それぞれの結果を見ていきましょう。複数枚を連続で生成(バッチ処理)した際に、どのような違いが生まれるかにご注目ください。
パターン1:「fixed」
- 動作: バッチ処理で何枚画像を生成しても、シード値は最初に指定した
495136911968339
のまま変わりません。 - 結果: 当然ながら、生成される画像はすべて同じものになります。何度やっても同じ結果を出したい「固定(fixed)」した状態ですね。





パターン2:「increment」
- 動作: 1枚生成するごとに、シード値が1ずつ増加(インクリメント)していきます。
- 結果: シード値が
...339
,...340
,...341
と少しずつ変わるため、全体的な構図は維持しつつ、細部が微妙に異なる画像が生成されます。髪の揺れや表情のニュアンスなど、ちょっとした変化を探すのに向いています。
[ここにinc
パターン3:「decrement」
- 動作:
increment
の逆で、1枚生成するごとにシード値が1ずつ減少(デクリメント)していきます。 - 結果: シード値が
...339
,...338
,...337
と変わります。こちらも構図は似ていて、細部が少しずつ変化する画像群が生成されました。
パターン4:「randomize」
- 動作: 最初の1枚目以降、毎回完全にランダムなシード値が自動で設定されます。
- 結果: 1枚目以外は、それぞれが全く異なる構図や雰囲気の画像になりました。同じテーマでとにかく多様なアイデアを見たい、という場合に最適な設定です。


【少し深掘り】incrementとdecrementで変化が乏しいのはなぜ?
さて、ここで一つ疑問が浮かびました。私の環境では、increment
とdecrement
で生成した画像に、ほとんど違いが見られなかったのです。5枚中4枚は、ほぼ同じ画像と言っていいほどでした。
これは、設定の組み合わせによるもののようです。
- サンプラーとステップ数:
euler
というサンプラーはシンプルで安定性が高く、特にsteps: 20
という比較的少ないステップ数では、シード値のわずかな差が最終結果に反映されにくいようです。 - 構図の単純さ: 「一人の人物」というシンプルな構図は、AIが安定した解を見つけやすく、少しノイズのパターンが変わったくらいでは結果がブレにくい、というわけですね。
もし、increment
などでもっと変化を出したい場合は、ステップ数を30
や40
に増やしたり、DPM++ 2M Karras
のような別のサンプラーを試したりすると、違いが顕著になるかもしれません。
また、これらの設定はあくまでシード値の「探求」や「バリエーション出し」を目的とするもので、画質そのものを良くしたり悪くしたりする効果はない、ということも覚えておきたいポイントです。
まとめ
今回の実験で、Kサンプラーの「生成後の制御」が、バッチ処理におけるシード値の挙動をコントロールするための設定であることがよく分かりました。
- fixed: 同じ画像を複数枚欲しいときに。
- increment/decrement: 構図を固定しつつ、細かな違いを見たいときに。
- randomize: 同じプロンプトで、とにかく色々なパターンを見たいときに。
このように目的によって使い分けることで、画像生成の効率が格段に上がりそうです。地道な検証でしたが、おかげでまた一つ賢くなれました。皆さんのComfyUIライフの一助となれば幸いです。
最後までお読みいただき、ありがとうございました。