わかります…指は Stable Diffusion最大の鬼門 ですよね 😇
「ちゃんと出た!」と思った次の瞬間に6本生えてくるやつ。
結論から言うと、1つの対策だけで安定させるのはほぼ無理で、
複数の手当てを重ねるのが現実的な解決策です。
まず大前提(ちょっと安心材料)
Stable Diffusionは
👉 「指」という概念を理解していない
👉 手=「指っぽい形の集合」として生成している
なので 不安定なのは仕様に近い です。あなたの設定が下手なわけじゃないです。
効果が高い順に対策を並べます
① ADetailer(ほぼ必須)
すでに触っているかもですが、正しく使えていないケースが多いです。
おすすめ設定(手用)
-
Detector model:
hand_yolov8n.pt -
Inpaint area:Only masked
-
Denoising strength:
0.35〜0.55 -
Inpaint at full resolution:ON
-
Mask blur:
4〜8
👉 ポイント
-
デノイズが 0.6以上 だと逆に崩れやすい
-
ADetailerは「描き直す」より「微修正」と割り切る
② ネガティブプロンプトを“整理”する
入れすぎると逆効果になります。
鉄板ネガティブ(これだけでOK)
extra fingers, fewer fingers, malformed hands,
bad hands, bad fingers, fused fingers
❌ よくあるNG
-
handsを丸ごとネガティブに入れる -
fingerを単体で入れまくる
→ 「手を描くな」指示になって崩れます
③ 解像度と構図を見直す(超重要)
指が小さいほど失敗率は跳ね上がります
安定しやすい条件
-
解像度:縦長なら 768×1152 以上
-
手が画面の 端 or 小さく写っている構図は地雷
-
全身より バストアップ〜上半身 の方が安定
👉「全身+手を自然に」は上級者向けです
④ Hires.fix を使うなら設定を抑える
Hiresが強すぎると 指だけ突然変異します。
無難設定
-
Upscaler:Latent / Latent (antialiased)
-
Denoising:
0.3〜0.45 -
Step:10〜15
⑤ LoRAの影響を疑う
指崩壊の8割はLoRA由来です。
チェック方法
-
LoRAを 全部外して1回生成
-
それで安定するなら犯人確定
👉 対策
-
LoRA強度を
0.6〜0.8 -
人体特化LoRAを重ねすぎない
⑥ ControlNet(本気モード)
「どうしても安定させたい1枚」用。
-
OpenPose(Handあり)
-
手だけ軽く描いたラフでもOK
時間はかかるけど 成功率は段違いです。
最後の現実的アドバイス
プロもやってます👇
-
10枚出して1枚当たりを選ぶ
-
指だけ Photoshopで修正
-
「見えない角度」に逃がす構図
Stable Diffusionは
👉 完璧を1発で出すツールじゃない
👉 「確率を上げる仕組み」
もしよければ
-
使用モデル
-
ADetailer / Hires のスクショ
-
問題の画像(手だけでOK)
教えてくれたら、ピンポイントで設定詰めますよ。
指、一緒に殴り倒しましょう 👊
結論から言うと、
👉 ADetailerは「指の数そのものを理解して数えて直す」ことはできません。
ただし、条件がそろえば結果的に“正しい本数に描き直される”ことは普通にあります。
ここ、めちゃくちゃ誤解されやすいポイントなので整理しますね。
ADetailerで「できること/できないこと」
❌ できないこと
-
指が 5本かどうかを認識して修正
-
6本 → 自動的に5本に減らす
-
「この指は余分だから消す」という判断
👉 ADetailerは知能ではなく検出+再生成です。
⭕ できること
-
「手」と判定した範囲だけを描き直す
-
既存の破綻(6本・融合・奇形)を
→ 再生成の運に任せて改善する -
小さな崩れを低デノイズで整える
なので
✔ 6本 → 5本になることもある
❌ 6本 → 7本になることもある(設定ミス時)
じゃあ、なぜ「指が直る」と言われるのか?
理由はこれです👇
-
手が破綻している
-
ADetailerが「ここは手だ」と検出
-
部分Inpaintで描き直す
-
再生成時に「たまたま」5本になる
つまり
👉 成功率を上げる道具であって
👉 保証する道具ではない
指の数が直りやすい設定条件
✔ 成功率が上がる条件
-
Denoising:
0.35〜0.5 -
手が 大きく写っている
-
モデルが人体に強い
-
LoRAが軽い or なし
-
ネガティブがシンプル
❌ 失敗しやすい条件
-
Denoising
0.6↑ -
手が小さい/画面端
-
全身構図
-
LoRA盛りすぎ
-
Hires + ADetailer 両方強い
超重要:誤解されがちなポイント
「hand_yolov8n.pt を使えば指が正しくなる」?
❌ なりません。
👉 検出精度が上がるだけ
👉 再生成の品質は モデルと設定次第
本当に「指の本数」を安定させたいなら
現実的な選択肢は3つだけです👇
① ControlNet(OpenPose Hand)
-
手の骨格を指定
-
唯一「5本をほぼ保証」できる方法
② Inpaintで自分でラフを描く
-
5本のガイド線を描いてからInpaint
-
地味だけど安定
③ 人力修正
-
プロ含めて普通にやってます
結論(ここだけ覚えてOK)
-
ADetailerは 指を数えられない
-
でも 描き直すことで結果的に直ることはある
-
「自動で完璧」は期待しない
-
本数にこだわるなら ControlNet一択
もしよければ
「今のADetailer設定を貼る」か
「どんな崩れ方が多いか(6本/融合/欠損)」教えてください。
そこが分かれば
👉 最短ルートで安定させる設定に絞ります 👍
はい、その理解で 完全に合っています。
しかもこれは 珍しいことでもバグでもありません 😇
なぜ「5本→6本」が起きるのか
ここが一番の勘違いポイントなんですが👇
ADetailerは
-
「5本で検出」しているわけではない
-
「手っぽい領域」を検出しているだけ
です。
実際にADetailerがやっていること
流れをそのまま言うと👇
-
YOLOが
👉「ここは“手”だと思う」と矩形を切り出す -
その範囲を Inpaintで再生成
-
再生成時は
👉 “新しい手”を一から描く
💥 この時点で
-
元が5本でも
-
6本・4本・融合になる可能性は普通にあります
つまり…
せっかく5本で検出してたのに6本に修正される?
✔ 起きます
✔ しかも設定次第で かなり起きます
特に起きやすい設定
❌ 危険ゾーン
-
Denoising:
0.6↑ -
Inpaint area:Not only masked
-
Mask blur:0〜2
-
Hires.fix と ADetailer 両方強め
-
指系ネガティブ盛り盛り
👉 「別の手を描き直せ」と言っている状態
起きにくくする現実的な対策
✔ 安定ゾーン
-
Denoising:
0.35〜0.5 -
Inpaint area:Only masked
-
Mask blur:4〜8
-
手がある程度大きい構図
-
LoRA弱め or なし
👉 **「形を保ったまま整えてね」**という指示になります。
たとえ5本でもADetailerをかけるべき?
ケース分けすると👇
🔹 かけない方がいい
-
すでに 綺麗な5本
-
手が小さい
-
背景的な手
🔹 かける意味がある
-
明らかな奇形
-
融合してる
-
指が太すぎる/短すぎる
超現実的な運用ルール(おすすめ)
プロンプト勢がよくやるやつ👇
-
通常生成で「だいたいOK」を出す
-
手が崩れている時だけ ADetailer ON
-
それでもダメなら ControlNet or 人力修正
一言まとめ
-
ADetailerは 修正ツールではなく再抽選装置
-
良くも悪くも 賭け
-
だから 5本→6本は普通に起きる
もし
「今のADetailer設定」や
「Hiresとの併用方法」を貼ってくれたら、
👉 **“5本を壊しにくい安全設定”**に一緒に詰め直しますよ。
めちゃくちゃ良いところに気づいてます。
で、答えはちょっと大人なやつになります。
👉「常時ONで使う」のはやめた方がいい。
👉 でも「使わない」のも、正直もったいない。
ADetailerの正しい立ち位置(超重要)
ADetailerは
❌ 万能修正ツール ではなく
⭕ “壊れている所だけを再抽選する装置” です。
だから使い方を間違えると👇
-
直ってた指を壊す
-
5本 → 6本にする
-
全体のバランスを崩す
=「余計なことをする存在」になります。
結論を一文で
ADetailerは「問題があるときだけ、限定的に使う」
これがベストです。
じゃあ「使わない方がいい」ケース
❌ OFF推奨
-
すでに 5本で自然
-
手が 小さい/遠い
-
背景的な手
-
全身構図で破綻が少ない
-
Hires.fixを強めにかける予定
👉 この場合、触らないのが最適解。
逆に「使う価値がある」ケース
⭕ ONする意味がある
-
明らかに6本・融合・奇形
-
手が大きく写っている
-
主役のポーズ手
-
表情や顔は完璧なのに手だけ崩壊
👉 **「ここだけ直したい」**時。
ADetailerを使うなら最低限これだけ
安全設定(指を壊しにくい)
-
Detector:
hand_yolov8n.pt -
Inpaint area:Only masked
-
Denoising:
0.35〜0.45 -
Mask blur:
6 -
Inpaint at full resolution:ON
👉 **「別の手を描くな、今の手を整えろ」**という圧になります。
さらに安定させる“運用テク”
これ、かなり効きます👇
🔹 二段階運用
-
ADetailer OFFで数枚生成
-
一番良いやつだけ
👉 img2img + ADetailer
=「良い手を壊しに行かない」
本音を言うと…
プロ・同人勢・商用AI絵の多くは👇
-
ADetailer:保険
-
ControlNet:本命
-
最終:人力修正
この3点セットです。
まとめ(覚えておいてほしい)
-
ADetailerは 常用禁止
-
問題が出たときの ピンポイント修正
-
5本の手を 信用して触らない勇気 が一番強い
もし
「今の制作フロー(txt2img / img2img / Hires)」や
「商用 or 趣味」教えてもらえたら、
👉 最短で安定する運用に組み直しますよ。
できます。
しかも それがいちばん安全でおすすめの使い方 です 👍
結論だけ先に
👉 txt2imgで出した1枚を、あとからADetailerだけかけることは可能
👉 しかも「指を壊しにくい」
やり方(王道ルート)
手順①:まず普通に出力する
-
txt2img
-
ADetailer:OFF
-
まずは全体が気に入った1枚を作る
手順②:img2img に持っていく
-
生成した画像を img2img にドラッグ
-
サイズはそのままでOK
手順③:img2imgでADetailerをON
ここがポイントです👇
img2img側の設定
-
Denoising strength(全体):
0.2〜0.35-
※ 全体を壊さないため
-
ADetailer設定(手)
-
Detector:
hand_yolov8n.pt -
Inpaint area:Only masked
-
ADetailer denoising:
0.35〜0.45 -
Mask blur:
4〜8 -
Inpaint at full resolution:ON
👉 全体はほぼ固定、手だけ再抽選
なぜこの方法が安定するのか
txt2imgで最初からADetailerをONにすると👇
-
毎回「手を描き直す」
-
良い手も壊す
img2img後がけだと👇
-
問題のある手だけ検出されやすい
-
構図・顔・体は維持
-
修正感が少ない
よくある落とし穴
❌ 全体デノイズが高い
-
img2img全体が
0.4↑
→ 絵が別物になります
❌ ADetailerのデノイズが高すぎ
-
0.6↑
→ 5本 → 6本祭り
❌ 手が小さすぎる
-
検出はしても 改善しない or 悪化
実務でよくやられてる流れ(リアル)
-
txt2imgで10枚出す
-
1〜2枚選ぶ
-
img2img + ADetailer
-
ダメなら ControlNet or 人力
-
納品
ほんとこれです。
まとめ
-
あとからADetailerは可能
-
むしろ 推奨
-
「最初からON」は事故りやすい
-
img2img後がけが一番コスパ良し
もし
-
使ってるUI(AUTOMATIC1111 / Forge / ComfyUI)
-
今のimg2img設定
が分かれば、そのままコピペできる設定まで落としますよ。
出ましたね、この sd-dynamic-prompts の StopIteration。
結論から言うと――
👉 これは Stable Diffusion本体やADetailerの問題ではなく、
sd-dynamic-prompts 側の「中身が空になった」エラーです。
指修正の流れとは 直接関係ありません。まずそこは安心してください。
エラーの正体(何が起きているか)
一番大事な行だけ抜き出します👇
StopIteration
これは Python 的には
「もう取り出せる候補が1つもないのに、次を取り出そうとした」
という意味です。
sd-dynamic-promptsで言うと👇
-
{}や|を使った ランダムプロンプト -
その中身が
-
空
-
全部無効
-
条件で削られた
結果として 生成候補が0個 になった
-
→ そこでクラッシュします。
よくある原因 TOP5(ほぼこれ)
① 空のランダムブロックがある(最頻出)
{smile|}
{|smile}
{}
👉 これ全部アウト
② ネガティブプロンプト側で dynamic prompts を使っている
{bad hands|extra fingers}
👉 sd-dynamic-promptsは
ネガティブ側が空になると落ちやすいです。
③ 重み付きと組み合わせている
({smile|angry}:1.2)
👉 バージョンによっては 普通に死にます
④ __wildcard__ が空 or ファイルが空
__hands__
-
hands.txtが-
空
-
改行だけ
-
コメントだけ
-
👉 候補0で StopIteration
⑤ img2img + ADetailer で scripts が同時実行
今回の流れ的に これもかなり怪しいです。
-
img2img
-
ADetailer
-
sd-dynamic-prompts
👉 scripts.py 経由で全部同時に回って衝突
すぐできる対処(順番に)
✅ 対処①:dynamic prompts を一旦OFF
まずこれをやってください。
-
Scripts → Dynamic Prompts
-
チェックを全部外す
-
通常プロンプトで1回生成
👉 これで通るなら 原因確定
✅ 対処②:プロンプト内の {} を全削除
一時的に👇
-
{a|b|c} -
__wildcard__
全部外す。
✅ 対処③:ネガティブ側では dynamic を使わない
ネガティブは 固定文 に。
✅ 対処④:wildcardファイルを確認
stable-diffusion-webui/wildcards/
-
空ファイルない?
-
中身コメントだけじゃない?
最低でも👇
good
bad
みたいに 1行1単語以上必要です。
✅ 対処⑤:sd-dynamic-prompts を更新 or 無効化
正直に言います。
👉 最近は使わなくても困りません
-
Combinatorial explosion 起きやすい
-
ADetailer / img2img との相性が微妙
完全に無効化しても指修正には一切影響なしです。
今回の状況を整理すると
あなたの流れはおそらく👇
-
txt2img → 出力
-
img2img に持ち込み
-
ADetailer ON
-
sd-dynamic-prompts もONのまま
-
ランダム候補が空 → StopIteration
👉 ADetailerは無罪
👉 sd-dynamic-promptsがコケてる
おすすめ運用(安定ルート)
-
txt2img:dynamic prompts OK
-
img2img / ADetailer:dynamic prompts OFF
-
プロンプトは固定
これで事故率ほぼゼロになります。
もしよければ
-
実際に使ってるプロンプト(
{}部分だけでOK) -
wildcardの1つ
貼ってくれたら、
👉 「どこが空になってるか」ピンポイントで指摘しますよ。
いい質問です。
ここ、分かってないまま触って事故る人が一番多い所です。
結論から言うと👇
**👉 ADetailerのプロンプト欄は
「検出された部分だけに追加でかかる“上書き指示”」**です。
ADetailerプロンプトの正体
ADetailerはこう動きます👇
-
全体プロンプトで1枚生成
-
YOLOが「顔・手」などを検出
-
その部分だけ Inpaint で再生成
-
そのとき
👉 全体プロンプト + ADetailerプロンプト
が使われる
つまり
👉 部分専用の追加プロンプト
何も書かなかったらどうなる?
-
全体プロンプト そのまま
-
ADetailerは「範囲指定」だけする
👉 一番安全です。
書いたらどうなる?
その部位にだけ 強制力が発生します。
例👇
例①:良い使い方
realistic hand, five fingers, natural anatomy
→ 手だけ「それっぽく」描こうとする
例②:事故る使い方
beautiful detailed hand, perfect fingers
→ モデルが 「完璧な手」を増やしに行く
→ 指増殖リスクUP 😇
超重要:ADetailerプロンプトの性質
-
強い
-
局所的
-
逃げ場がない
なので
盛るほど壊れやすいです。
ネガティブプロンプト欄も同じ
ADetailerネガティブ
-
その部位にだけ効く
おすすめ👇
extra fingers, fused fingers, malformed hands
❌ 入れすぎ注意
-
bad anatomy
-
deformed
-
ugly
→ 手の形そのものを否定して壊します
結論:どう使うのが正解?
基本ルール
-
空欄が正解
-
書くなら 最小限
-
修正目的が明確な時だけ
実践テンプレ(安全)
手用 ADetailer
Prompt
realistic hand, natural fingers
Negative
extra fingers, fused fingers
これ以上は 足さない。
txt2img / img2img との違い
-
全体プロンプト:世界観
-
ADetailer:局所の方向性
👉 方向性がズレると破綻します。
まとめ(超重要)
-
ADetailerプロンプト=部分専用の追記命令
-
空欄でも問題なし(むしろ安全)
-
盛るほど 指が増える
-
ネガティブも 最小限
もし
「今どんな文を入れてるか」貼ってくれたら、
👉 削るべき単語/残すべき単語をズバッと仕分けしますよ。