「一句话改姿势」:用中文指令精准编辑人物动作的 ComfyUI 工作流(基于 Qwen-VL和QwenImageEdit)
阅读原文
建议阅读原文,始终查看最新文档版本,获得最佳阅读体验:《「一句话改姿势」:用中文指令精准编辑人物动作的 ComfyUI 工作流(基于 Qwen-VL和QwenImageEdit)》
https://docs.dingtalk.com/i/nodes/nYMoO1rWxa7nvZ7Gu0G16n3RV47Z3je9
前言
“把人物改成双手像猫咪一样握拳放在脸边,要可爱!”
——过去这需要 PS + ControlNet + 多轮调试;
现在,只需一行中文提示,AI 自动精准完成!
最近,通义千问推出的Qwen-Image 系列模型在 AIGC 圈掀起热潮。而今天我要分享的,是一个基于Qwen-VL 多模态大模型 + Qwen-Image-Edit 扩散模型的ComfyUI 高级图像编辑工作流——它能真正理解你的自然语言指令,快速便利地调整图片中人物的姿势,而且一次可以批量生成多种姿势的图片。
真实示例
我使用的GPU是NVIDIA Quadro RTX 5000 16GB
上传图片:
生成的图片:
可以看到,人物一致性非常好,背景也保持了一致性。
人物的姿势动作都可以调整的,直接用自然语言描述即可。
视频演示
哔哩哔哩: https://player.bilibili.com/player.html?autoplay=false&bvid=BV1dumMBNEKL
🔥 它能做什么?看这些例子就知道了
上传一张普通人像照片,然后告诉 AI:
“变成俯视拍摄,单眼眨眼”
“手臂向前伸展,比出 V 字手势”
“跪地姿势,带上黑色墨镜”
“双手模仿猫咪握拳的姿态放在脸侧,显得俏皮可爱”
✅ 姿势精准
✅ 身份一致
✅ 背景保留
✅ 无肢体畸变
这一切,无需 ControlNet 姿态图、无需 IP-Adapter 参考、无需手动标注——全靠一句中文!
🧠 技术揭秘:为什么它这么聪明?
传统 Stable Diffusion 的图像编辑依赖“文本+参考图+控制图”的拼凑,而本工作流采用端到端多模态理解架构:
| 模块 | 作用 |
|---|---|
| Qwen-VL-7B(视觉语言大模型) | 同时“看懂”原图 + “听懂”你的指令,生成精准编辑意图 |
| Qwen-Image-Edit(FP8 量化 UNet) | 高效执行编辑,在保持画质的同时大幅降低显存 |
自定义节点**TextEncodeQwenImageEditPlus** | 将多模态理解结果注入扩散过程,实现像素级可控 |
💡 简单说:Qwen-VL 是“大脑”,Qwen-Image-Edit 是“手”——一个负责理解,一个负责执行。
🛠️ 使用要求 & 显存建议
必需模型(需手动下载):
Qwen-Image-Edit-2509_fp8_e4m3fn.safetensors→models/diffusion_models/qwen_image_vae.safetensors→models/vae/qwen_2.5_vl_7b_fp8_scaled.safetensors→models/text_encoders/LoRA(如
Qwen Edit百变姿势.safetensors)→models/loras/
显存建议:
768×768 分辨率:≥16GB VRAM(RTX 3090 / 4080 可运行)
1024×1024 分辨率:推荐 24GB(RTX 4090 / 3090)
⚠️ 注意:因使用 Qwen-VL-7B,低于 12GB 显存的设备难以运行。可启用
--lowvram模式尝试降分辨率。
ComfyUI workflow下载
请至钉钉文档查看附件《人物多姿势一致性.json》
ComfyUI的日志
从日志中可以看出,此次执行workflow,总共花费了1小时8分钟,这确实很久,这是因为我用的是GPU(NVIDIA Quadro RTX 5000 16GB)不是很高端的,而且一次性批量生成了16张图片,所以时间很长。
got prompt WARNING: ProcessString.IS_CHANGED()got an unexpected keyword argument'input_string'Requested to load WanVAE loaded completely;3298.56MB usable,242.03MB loaded, full load: True Requested to load QwenImageTEModel_ loaded completely;14190.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Unloaded partially:5057.24MB freed,2852.50MB remains loaded,194.25MB buffer reserved, lowvram patches:0loaded completely;14180.46MB usable,7909.74MB loaded, full load: True Requested to load QwenImage loaded partially;12906.95MB usable,11497.74MB loaded,7986.21MB offloaded,1404.01MB buffer reserved, lowvram patches:580100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[03:56<00:00,29.57s/it]loaded partially;12892.95MB usable,11488.73MB loaded,7995.21MB offloaded,1404.01MB buffer reserved, lowvram patches:1100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[03:59<00:00,29.95s/it]loaded partially;12883.95MB usable,11479.74MB loaded,8004.21MB offloaded,1404.01MB buffer reserved, lowvram patches:1100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[03:57<00:00,29.65s/it]loaded partially;12856.95MB usable,11452.73MB loaded,8031.22MB offloaded,1404.01MB buffer reserved, lowvram patches:3100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[03:58<00:00,29.82s/it]loaded partially;12829.94MB usable,11425.73MB loaded,8058.22MB offloaded,1404.01MB buffer reserved, lowvram patches:1100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[03:57<00:00,29.73s/it]loaded partially;12802.94MB usable,11398.73MB loaded,8085.22MB offloaded,1404.01MB buffer reserved, lowvram patches:1100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[03:57<00:00,29.74s/it]loaded partially;12775.94MB usable,11371.73MB loaded,8112.22MB offloaded,1404.01MB buffer reserved, lowvram patches:1100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[03:59<00:00,29.91s/it]loaded partially;12748.94MB usable,11344.72MB loaded,8139.23MB offloaded,1404.01MB buffer reserved, lowvram patches:3100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[03:58<00:00,29.77s/it]loaded partially;12721.93MB usable,11317.72MB loaded,8166.23MB offloaded,1404.01MB buffer reserved, lowvram patches:1100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[03:59<00:00,29.93s/it]loaded partially;12694.93MB usable,11290.72MB loaded,8193.23MB offloaded,1404.01MB buffer reserved, lowvram patches:1100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[03:59<00:00,29.90s/it]loaded partially;12667.93MB usable,11263.72MB loaded,8220.23MB offloaded,1404.01MB buffer reserved, lowvram patches:1100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[03:59<00:00,29.90s/it]loaded partially;12640.93MB usable,11236.71MB loaded,8247.23MB offloaded,1404.01MB buffer reserved, lowvram patches:3100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[04:00<00:00,30.06s/it]loaded partially;12613.92MB usable,11209.71MB loaded,8274.23MB offloaded,1404.01MB buffer reserved, lowvram patches:1100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[03:59<00:00,29.91s/it]loaded partially;12586.92MB usable,11182.71MB loaded,8301.23MB offloaded,1404.01MB buffer reserved, lowvram patches:1100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[03:58<00:00,29.82s/it]loaded partially;12559.92MB usable,11155.71MB loaded,8328.23MB offloaded,1404.01MB buffer reserved, lowvram patches:1100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[04:00<00:00,30.02s/it]loaded partially;12532.92MB usable,11128.71MB loaded,8355.24MB offloaded,1404.01MB buffer reserved, lowvram patches:3100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|8/8[03:57<00:00,29.66s/it]Requested to load WanVAE Unloaded partially:11137.62MB freed, -8.92 MB remains loaded,2106.05MB buffer reserved, lowvram patches:858loaded completely;977.41MB usable,242.03MB loaded, full load: True Prompt executedin01:08:45-8.92 MB remains loaded, 2106.05 MB buffer reserved, lowvram patches: 858
loaded completely; 977.41 MB usable, 242.03 MB loaded, full load: True
Prompt executed in 01:08:45
