人像本身挺好,往下一拉就发现手有六根手指、拇指长在错的一侧、或者两只手粘成一团。新模型已经把这个问题压小了不少——Midjourney v7 模型相比 v6.1 明显减少了手部和解剖错误,Flux.2(2025 年 11 月发布)相比 Flux.1 在解剖上也有改进——但截至 2026 年 6 月,手仍然是图像生成里最难的部位,“偶尔出错”不等于”已经解决”。
最快的修复顺序:先给手更多像素(拉近构图或换更高的竖向宽高比),再对崩掉的那只手跑一遍手部专用 inpaint pass。光是这第二步就能搞定大部分情况。根因很少在 prompt 本身,多半是手在画面里太小、姿态太纠缠、或者用了便宜 / 快速档。
先判断你属于哪一类
| 症状 | 最可能的根因 | 跳到 |
|---|---|---|
| 手很小 / 离镜头很远 | 像素不够 | Step 1 |
| SDXL/Flux 完全无视解剖 | 没有负面 prompt 或 embedding | Step 2 |
| 手够大但还是崩 | 没跑二次 pass | Step 3 |
| 双手交叉 / 握细长物 | 高风险姿态 | Step 4 |
| 脸和脚也跟着崩 | 整张图像素不够,不是手的问题 | Step 1 |
| 今天必须交,没时间重画 | 后期 | Step 5 |
常见原因
1. 手太小,像素数不够
输出图里手部区域如果小于大约 64x64 像素,模型根本没有足够的像素去摆好五根手指。这是”多手指”反馈里 60-70% 的根因。
如何判断:把手部放大看。如果整只手占图像长边的 5% 都不到,就是太小。
2. 姿态本身让手指互相重叠
“双手交叉”、“手托下巴”、“祈祷姿势”、“握小物件”——这些姿态强迫模型判定每根手指属于哪只手,通常会失败。
如何判断:检查 prompt 里是否包含双手贴在一起、或手指环绕细长物(笔、麦克风、手机边)的描述。
3. 没用负面 prompt 或手部 embedding(SD / Flux 家族)
SDXL、Flux 这类 checkpoint 如果你不显式抑制,它非常乐意给你六根手指。Midjourney 基本不理负面词,所以这条只对 ComfyUI、A1111 / Forge 里的 Stable Diffusion 家族流程有效。
4. 拍摄角度让手腕被遮住
手腕被遮住时,模型对手的大小和旋转就没有锚点。极端俯仰角会让这个问题加重。
如何判断:从每根手指往身体方向追溯,能找到手腕吗?找不到就是锚点丢了。
5. 多人场景
画面里有两个或更多人时,模型经常把第三个人的手嫁接到主体身上。
如何判断:数能看到的手。应该等于 2 x 画面里的人数。3 个人只数到 5 只手或者 7 只手,就是这个。
6. 用了便宜 / 快速档
Midjourney 的 --draft 模式、SDXL 步数少于 20、Flux Schnell / Klein、Imagen 的 Fast 档——都会跳过原本能修好手的迭代。
如何判断:看出问题那次的档位 / 步数,和平台 premium 档对比——在便宜档跑的,部分原因就在这里。
动手前先确认
- 把出问题那张图的 seed 和完整 prompt 存下来,定向重画那一步用得上。
- 记下用的是什么工具、模型版本、画质档位。(厂商版本跳得很勤:截至 2026 年 6 月 11 日 Midjourney 默认已是 V8.1,Flux 在 Flux.2 系列上,Google 出的是 Imagen 4。用着旧模型本身就是个可修的原因。)
- 确认不是偶发——用同 prompt 再出 4 张候选,看是不是张张都崩。
- 想清楚到底需不需要那只手——很多人像直接把手裁掉是最快的解。
- 在改 prompt 模板前,备份当前版本。
需要收集的信息
- 完整 prompt、负面 prompt、模型、seed、sampler、步数。
- 把崩掉的手裁到 ~
512x512的截图。 - 用途场景(缩略图 / hero / 印刷)——决定修到什么程度才够用。
- 其他部位(脸、脚)是不是也崩;如果是,根因是”像素不够”而不是手本身。
- 输出图的宽高比和最终分辨率。
最短修复路径
Step 1:拉近构图,给手更多像素
prompt 里加显式构图词,把模型推向中近景:
medium close-up, hands visible in frame, hands well-defined
全身像必须保留时,Midjourney 改成 --ar 2:3 或 --ar 4:5,SDXL 渲 1024x1280 而不是 1024x1024。竖向像素多了,上半身(包括手)也就清楚了。
Step 2:加强负面 prompt(仅 SD / Flux 家族)
SDXL / ComfyUI / A1111 / Forge 里:
extra fingers, six fingers, mutated hands, deformed hands,
malformed hands, fused fingers, missing fingers, extra hand,
disfigured, ugly hands, poorly drawn hands
还可以上一个专门针对烂手训练的 textual-inversion embedding——常用的有 badhandv4、negative_hand-neg、EasyNegative(从 Civitai 下载,放进 embeddings 文件夹,再在负面 prompt 里写文件名引用)。SDXL 的负面词要短,太长反而掉画质。
Midjourney 基本无视这步。--no extra fingers 效果有限,真正的活在 Step 3。
Step 3:跑一遍手部专用二次 pass
收益最高的一步,单凭它就能搞定大部分情况。
- SDXL / A1111 / Forge:开 ADetailer,检测模型选
hand_yolov8n.pt。它会自动识别手、做 mask,再用更高分辨率 inpaint。唯一关键的参数:Inpaint denoising strength 设 0.35-0.45。低于这个范围修不动扭曲,高于约 0.8 重画出来的手会跟原图的光照对不上。把脸和手分两个 ADetailer 标签页串起来——先脸后手。 - ComfyUI:MeshGraphormer Hand Refiner 节点是当前手部的 SOTA(它先拟合一个 3D 手部网格,再 inpaint 贴上去)。ControlNet 的
depth_hand_refiner预处理器,或 OpenPose 配手部参考图,也都能用。用 ComfyUI Manager 装 Impact Pack 和 YOLO 模型。 - Midjourney:在 Editor 里打开图(或在 Discord 用 Vary Region),把每只崩的手刷上,加一句聚焦的 prompt,比如
well-defined hand, five fingers, natural pose。注意:截至 2026 年 6 月,即便底图是 V8.1,Editor 底层仍在跑 V6.1 模型,所以多重画几次。 - Flux:在 ComfyUI 里用 Flux.1 Fill [pro](或用 Flux.1 Kontext 做指令式编辑,比如 “fix the left hand”)配手部 mask。蒙版区域用聚焦的手部专用 prompt,别用整段主 prompt。
所有工具通用:mask 要刷到手的边界稍微外面一点,让模型能把手腕衔接好;修复时一次出 4 张,挑干净的那张。
Step 4:模型死活修不好就换姿态
如果 prompt 死咬着”双手交叉”或”握麦克风”不放、连重画三遍都没修好,那就换姿态。“手插口袋”、“一手在身侧一手背后”、“叉腰”这些会大幅降低手指歧义。参见下方姿态风险表。
Step 5:实在不行就后期
对于商业交付、绝对不能崩手的情况,承认 2026 年的 AI 手部还没完全解决。用 Photoshop 或 Affinity 的 Generative Fill 或修复画笔,或者从真实参考图里抠一只手贴上去。
怎么确认已经修好
- 每只手放到 100% 看:五根手指 + 一根拇指与其余四指对生。
- 检查手腕到前臂的连接是否干净——断腕是第二常见的崩坏。
- 看指关节:每根手指三个弯,不是两个也不是四个。
- 检查指甲比例是否合理,没有”长在错的关节上”的现象。
- 找第二双眼睛看;人对自己模型的失败容易看瞎。
如果还是没修好
- 放开分辨率限制,渲
1024x1536或1536x1024,给上半身更多像素。 - 试一个手部专门的 LoRA(Civitai 上有几个 “perfect hands” 系列)。
- 换底模。截至 2026 年 6 月,Flux.2 Pro 和 Imagen 4(Ultra/Standard)在紧凑姿态下手比旧 checkpoint 干净;用 Midjourney 的话,确认自己在 V8.1 而不是旧版本。
- 商业交付要把手部修复当作工作流里固定的一步,别当成例外。手部完全可靠的 AI 生成目前还做不到 100%。
- 上 r/StableDiffusion 或 Discord 求助前,把崩图、完整 prompt、模型版本打包好。
常见问题
都 2026 年了,别的都照片级真实,为什么 AI 还是画不好手?
手的变化太大:27 块骨头、几十种合法姿态、手指交叉处大量自遮挡。而且手在画面里通常很小,模型能用的像素本就不多。模型这两年进步很大(Midjourney v7 相比 v6.1 明显减少了手部错误,Flux.2 相比 Flux.1 也有改进),但”小尺寸 + 复杂姿态”这套组合拳还是会把它打懵。
负面 prompt 在 Midjourney 里能修好手吗?
基本不能。Midjourney 大体上无视 --no,所以 --no extra fingers 效果有限。Midjourney 里可靠的修法是用 Editor / Vary Region 对手做 inpaint。负面 prompt 和烂手 embedding 是 Stable Diffusion / Flux 那边的玩法。
ADetailer 的 denoise 设多少能修手又不毁图?
Inpaint denoising strength 设 0.35-0.45。再低修不动扭曲;再高(超过约 0.8)重画的手会跟原图光照、颜色对不上。检测模型用 hand_yolov8n.pt,脸和手分两个 ADetailer 标签页跑。
现在哪个模型的手最好?
截至 2026 年 6 月,紧凑姿态下 Flux.2 Pro 和 Imagen 4(Ultra/Standard)的手部保真度领先,Midjourney V8.1 也比旧版本好很多。没有一个是完美的——不管用哪个模型,都把 inpaint pass 留在工作流里。
手够大够清楚但还是六根手指,怎么办?
这是 Step 3 的问题,不是构图问题。跑手部专用 inpaint pass(ADetailer / MeshGraphormer / Flux Fill / Midjourney Editor),mask 刷到手边界外一点,用聚焦的手部专用 prompt,一次出 4 张挑。连跑三遍还不行就换姿态(Step 4)。
预防建议
- 避免让手处在最小尺度或互相重叠的姿态。
- 准备一段”负面 prompt 块”,每次 SD / Flux 生成都粘进去。
- hero 图尽量用最大允许的宽高比生成再裁切。
- 任何有手露出的人像,固定加一遍手部 inpaint pass,把它当工作流而不是修复手段。
- 维护一个自己模型经常踩坑的姿态词黑名单,提前用安全替代词。
姿态风险速查
| 姿态 | 风险 |
|---|---|
| 手插口袋 | 低 |
| 手在身侧放松 | 低 |
| 一手叉腰、一手在身侧 | 低-中 |
| 双臂交叉 | 中 |
| 握手机或麦克风 | 高 |
| 双手交叉或祈祷 | 极高 |
| 手语动作 | 极高 |
| 双手环握小物件 | 极高 |
用例允许时,优先选风险更低的姿态。