摘要: 输入一张图片,靠Qwen 3.5的多模态反推提示词,然后再用ZImage重新生成,把AI味浓的图片洗成更写实的图像。
输入一张图片,靠Qwen 3.5的多模态反推提示词,然后再用ZImage重新生成。可以用来把早期一些AI味很浓的图片重新洗图,洗成更逼真的。
ComfyUI中已经有人做了Qwen3.5的插件。这里还是先试一下更经典的ComfyUI-QwenVL,毕竟只是更换一个加载的模型,应该不需要等插件的版本更新吧。选了ComfyUI-QwenVL版本2.1.1
先试一下单独跑Qwen3.5提示词反推。建一个空的Workflow,添加QwenVL(GGUF)节点,添加一个加载图像节点。显示结果文本一开始不知道用什么节点,装了一个ComfyUI-Show-Text,后面发现这个节点并不能显示。参考ComfyUI-QwenVL作者,最后选了任意浏览(preview any)
QwenVL(GGUF)节点中,可以选择加载的模型;preset_prompt是预设的几组策略,设定输出的图片/视频描述偏好
如果这个时候运行这个流程,会报错 [QwenVL] llama_cpp is not available
查看项目的主页
https://
github.com/1038lab/Comf
yUI-QwenVL
,按照步骤安装使用GGUF缺少的wheel
https://
github.com/1038lab/Comf
yUI-QwenVL/blob/main/docs/LLAMA_CPP_PYTHON_VISION_INSTALL.md
## 进入comfyUI的python目录
d:
cd ComfyUI_windows_portable\python_embeded
## 备份环境
python.exe -m pip freeze > d:\requirements-backup.txt
## 确认安装的python版本,我的是3.12.10
python.exe -V
## 下载 https://github.com/JamePeng/llama-cpp-python/releases/
## 我的nvdia驱动已经最新,支持cuda 13.0
## 选了 v0.3.32-cu130-Basic-win-20260308/llama_cpp_python-0.3.32+cu130.basic-cp312-cp312-win_amd64.whl
## 安装wheel
## 我第一次安装的时候,遇到权限不足,用管理员权限进命令行重新执行就可以了
python.exe -m pip install --upgrade --force-reinstall C:\path\to\llama_cpp_python-*.whl
## 检验是否安装成功
python.exe -c "from llama_cpp.llama_chat_format import Qwen3VLChatHandler, Qwen25VLChatHandler; print('handlers OK')"
我在运行最后一段python检验代码时报错
File "M:\ComfyUI_windows_portable\python_embeded\Lib\site-packages\llama_cpp\_ctypes_extensions.py", line 117,
in load_shared_library
raise RuntimeError(
RuntimeError: Failed to load 'ggml' from [WindowsPath('M:/ComfyUI_windows_portable/python_embeded/Lib/site-packages/llama_cpp/lib'),
WindowsPath('M:/ComfyUI_windows_portable/python_embeded/Lib/site-packages/llama_cpp/bin')]
M:\ComfyUI_windows_portable\python_embeded\Lib\site-packages\llama_cpp\bin\ggml.dll: Could not find module
'M:\ComfyUI_windows_portable\python_embeded\Lib\site-packages\llama_cpp\bin\ggml.dll' (or one of its dependencies).
Try using the full path with constructor syntax.
再三核对了,下载的whl cp312对应python 3.12没错。cu版本换成128的也不行。用 dependencies.exe 加载llama_cpp/bin 目录下的 ggml.dll,发起缺了cudart64_12.dll、cublas64_12.dll两个动态库,
网上搜索到这俩库属于cuda toolkit的
。好家伙,这个toolkit安装包2.3GB。我这里偷了个懒,发现lm studio中有cudart64_12.dll、cublas64_12.dll、cublasLt64_12.dll三个dll,直接拷贝到 ComfyUI_windows_portable\python_embeded\Lib\site-packages\llama_cpp\bin ,运行就不报错了
接着,修改 ComfyUI-QwenVL 的配置文件,把qwen 3.5加进去。修改 ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-QwenVL\gguf_models.json ,在 qwenVL_model 中加一组qwen 3.5 4b gguf
"Qwen3.5-4B-GGUF": {
"author": "unsloth",
"repo_name": "Qwen3.5-4B-GGUF",
"repo_id": "unsloth/Qwen3.5-4B-GGUF",
"mmproj_file": "mmproj-BF16.gguf",
"model_files": [
"Qwen3.5-4B-UD-Q4_K_XL.gguf",
"Qwen3.5-4B-Q4_K_M.gguf"
],
"defaults": {
"context_length": 8192,
"image_max_tokens": 4096,
"n_batch": 512,
"gpu_layers": -1,
"top_k": 0,
"pool_size": 4194304
}
},
这里只配置了两个q4的量化版本,根据需要可以添加其他的量化版本。这个插件默认去 huggingface 下载模型的,会遇到墙的问题。我是手动去魔塔
Qwen3.5-4B-GGUF
下载了模型文件(包括mmproj文件以及模型主文件),放到了 ComfyUI\models\llm\GGUF\unsloth\Qwen3.5-4B-GGUF 目录。终于可以成功运行了
在选择详细描述的时候,如果出现输出截断的情况,需要调大max_tokens。另外可以在custom_prompt中输入额外的要求,例如要求输出为中文
不过据我测试,要求输出中文时,结果会不太稳定,可能得到极其简单的描述
接着,就尝试搭建完整的图生图流程了。用了以前搭好的z-image工作流《
搭建第一个z-image的gguf工作流
》,也就是在 ComfyUI 官方Z-Image工作流的基础上,把Unet Loader和CLIP Loader都改成GGUF的。然后在工作流之中,放入QwenVL(GGUF)节点、加载图像节点、预览任意节点,把三个连起来。然后,把QwenVL的输出,拖一份到CLIP文本编码节点文本框的左上角的绿色接入点
这个工作流里面三个模型,Qwen 3.5 4B q4,Qwen 3 4B q6,Z-Image turbo Q6。16G内存,16G显存,差点撑爆,可以把后面两个都换q4量化的。随便找了张早期sd生成的图片
洗完顺眼多了
发现用LM Studio来跑Qwen 3.5,会比 ComfyUI-QwenVL 插件安装简单一些。参考
ComfyUI+LM Studio实现Qwen 3.5图生图
| 需求 | 输入 | 实现 | 输出 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| # | 目的 | 作用 | 实质 | 形式 | 类型 | 值 | 来源 | 外部工具 | 动作 | 指令 | 类型 | 值 | 去处 |
| s1 | 用 `ComfyUI Manager` `下载` `ComfyUI节点插件` 添加本地 QwenVL GGUF 节点 | 工艺规约 | 程序控制类型/流程/工作流 | ← 工序输入 | ComfyUI Manager | 获取/搜索/下载 | ComfyUI中已经有人做了Qwen3.5的插件。这里还是先试一下更经典的ComfyUI-QwenVL,毕竟只是更换一个加载的模型,应该不需要等插件的版本更新吧。选了ComfyUI-QwenVL版本2.1.1 | ComfyUI节点插件 | s1o1 <占位>(原文未提供) | → p1.s4.inputs[0] | |||
| s2 | `下载` `推理运行库` wheel 安装,使 llama_cpp 支持 GGUF 视觉推理 | 工艺规约 | 推理运行库 | v0.3.32-cu130-Basic-win-20260308/llama_cpp_python-0.3.32+cu130.basic-cp312-cp312-win_amd64.whl | pip | 获取/搜索/下载 | 按照步骤安装使用GGUF缺少的wheel https:// github.com/1038lab/Comf yUI-QwenVL/blob/main/docs/LLAMA_CPP_PYTHON_VISION_INSTALL.md ## 进入comfyUI的python目录 d: cd ComfyUI_windows_portable\python_embeded ## 备份环境 python.exe -m pip freeze > d:\requirements-backup.txt ## 确认安装的python版本,我的是3.12.10 python.exe -V ## 下载 https://github.com/JamePeng/llama-cpp-python/releases/ ## 我的nvdia驱动已经最新,支持cuda 13.0 ## 选了 v0.3.32-cu130-Basic-win-20260308/llama_cpp_python-0.3.32+cu130.basic-cp312-cp312-win_amd64.whl ## 安装wheel ## 我第一次安装的时候,遇到权限不足,用管理员权限进命令行重新执行就可以了 python.exe -m pip install --upgrade --force-reinstall C:\path\to\llama_cpp_python-*.whl ## 检验是否安装成功 python.exe -c "from llama_cpp.llama_chat_format import Qwen3VLChatHandler, Qwen25VLChatHandler; print('handlers OK | 推理运行库 | s2o1 <占位>(原文未提供) | → p1.s3.inputs[1] | |||
| s3 | 从 LM Studio `上传` `系统动态库` 修复 `推理运行库` 的 GPU 依赖缺失 | 工艺规约 | 系统动态库 | cudart64_12.dll、cublas64_12.dll两个动态库, 网上搜索到这俩库属于cuda toolkit的 。好家伙,这个toolkit安装包2.3GB。我这里偷了个懒,发现lm studio中有cudart64_12.dll、cublas64_12.dll、cublasLt64_12.dll | human | 获取/录入/上传 | 发现lm studio中有cudart64_12.dll、cublas64_12.dll、cublasLt64_12.dll三个dll,直接拷贝到 ComfyUI_windows_portable\python_embeded\Lib\site-packages\llama_cpp\bin ,运行就不报错了 | 推理运行库 | s3o1 <占位>(原文未提供) | ||||
| 推理运行库 | <占位>(原文未提供) | ← s2o1 | |||||||||||
| s4 | 在 `模型配置文件` 中 `添加` Qwen3.5-4B GGUF 模型注册条目 | 工艺规约 | 模型配置文件 | 接着,修改 ComfyUI-QwenVL 的配置文件,把qwen 3.5加进去。修改 ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-QwenVL\gguf_models.json ,在 qwenVL_model 中加一组qwen 3.5 4b gguf | ← s1o1 | human | 修改/增/添加 | 修改 ComfyUI-QwenVL 的配置文件,把qwen 3.5加进去。修改 ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-QwenVL\gguf_models.json ,在 qwenVL_model 中加一组qwen 3.5 4b gguf "Qwen3.5-4B-GGUF": { "author": "unsloth", "repo_name": "Qwen3.5-4B-GGUF", "repo_id": "unsloth/Qwen3.5-4B-GGUF", "mmproj_file": "mmproj-BF16.gguf", "model_files": [ "Qwen3.5-4B-UD-Q4_K_XL.gguf", "Qwen3.5-4B-Q4_K_M.gguf" ], "defaults": { "context_length": 8192, "image_max_tokens": 4096, "n_batch": 512, "gpu_layers": -1, "top_k": 0, "pool_size | 模型配置文件 | s4o1 "Qwen3.5-4B-GGUF": { "author": "unsloth", "repo_name": "Qwen3.5-4B-GGUF", "repo_id": "unsloth/Qwen3.5-4B-GGUF", "mmproj_file": "mmproj-BF16.gguf", "model_files": [ "Qwen3.5-4B-UD-Q4_K_XL.gguf", "Qwen3.5-4B-Q4_K_M.gguf" ], "defaults": { "context_length": 8192, "image_max_tokens": 4096, "n_batch": 512, "gpu_layers": -1, "top_k": 0, "pool_size | |||
| s5 | 从魔塔 `下载` Qwen3.5-4B `模型权重` 到 ComfyUI models 目录 | 预准备 | 知识类型/知识库 | 手动去魔塔 Qwen3.5-4B-GGUF | human | 获取/搜索/下载 | 我是手动去魔塔 Qwen3.5-4B-GGUF 下载了模型文件(包括mmproj文件以及模型主文件),放到了 ComfyUI\models\llm\GGUF\unsloth\Qwen3.5-4B-GGUF 目录 | 程序控制类型/参数/模型权重 | s5o1 mmproj-BF16.gguf", "model_files": [ "Qwen3.5-4B-UD-Q4_K_XL.gguf", "Qwen3.5-4B-Q4_K_M.gguf | ||||
| 需求 | 输入 | 实现 | 输出 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| # | 目的 | 作用 | 实质 | 形式 | 类型 | 值 | 来源 | 外部工具 | 动作 | 指令 | 类型 | 值 | 去处 |
| s1 | `元素生成` 含 QwenVL GGUF 节点的 `工作流` 与 ZImage 图生图集成 | 工艺规约 | 程序控制类型/流程/工作流 | z-image工作流《 搭建第一个z-image的gguf工作流 》,也就是在 ComfyUI 官方Z-Image工作流的基础上,把Unet Loader和CLIP Loader都改成GGUF的 | human | 生成/元素生成 | 就尝试搭建完整的图生图流程了。用了以前搭好的z-image工作流《 搭建第一个z-image的gguf工作流 》,也就是在 ComfyUI 官方Z-Image工作流的基础上,把Unet Loader和CLIP Loader都改成GGUF的。然后在工作流之中,放入QwenVL(GGUF)节点、加载图像节点、预览任意节点,把三个连起来。然后,把QwenVL的输出,拖一份到CLIP文本编码节点文本框的左上角的绿色接入点 | 程序控制类型/流程/工作流 | s1o1 <占位>(原文未提供) | → p2.s2.inputs[1] | |||
| 程序控制类型/参数/生成参数 | Qwen3.5-4B-UD-Q4_K_XL.gguf", "Qwen3.5-4B-Q4_K_M.gguf" ], "defaults": { "context_length": 8192, "image_max_tokens | ||||||||||||
| s2 | 用 `ComfyUI-QwenVL` `反推` `参考图`,得到图像 `提示词` | 预处理 | 图像 | 内容类型/素材/化学变化/参考图 | <早期 SD 生成、AI 味浓的参考图片(用户自备,如 example.png)> | ComfyUI-QwenVL | 提取/化学提取/反推 | QwenVL(GGUF)节点中,可以选择加载的模型;preset_prompt是预设的几组策略,设定输出的图片/视频描述偏好 如果这个时候运行这个流程,会报错 [QwenVL] llama_cpp is not available 查看项目的主页 https:// github.com/1038lab/Comf yUI-QwenVL ,按照步骤安装使用GGUF缺少的wheel https:// github.com/1038lab/Comf yUI-QwenVL/blob/main/docs/LLAMA_CPP_PYTHON_VISION_INSTALL.md ## 进入comfyUI的python目录 d: cd ComfyUI_windows_portable\python_embeded ## 备份环境 python.exe -m pip freeze > d:\requirements-backup.txt ## 确认安装的python版本,我的是3.12.10 python.exe -V ## 下载 https://github.com/JamePeng/llama-cpp-python/releases/ ## 我的nvdia驱动已经最新,支持cuda 13.0 ## 选了 v0.3.32-cu130-Basic-win-20260308/llama_cpp_python-0.3.32+cu130.basic-cp312-cp312-win_amd64.whl ## 安装wheel ## 我第一次安装的时候,遇到权限不足,用管理员权限进命令行重新执行就可以了 python.exe -m pip install --upgrade --force-reinstall C:\path\to\llama_cpp_python-*.whl ## 检验是否安装成功 python.exe -c "from llama_cpp.llama_chat_format import Qwen3VLChatHandler, Qwen25VLChatHandler; print('handlers OK')" 我在运行最后一段python检验代码时报错 File "M:\ComfyUI_windows_portable\python_embeded\Lib\site-packages\llama_cpp\_ctypes_extensions.py", line 117, in load_shared_library raise RuntimeError( RuntimeError: Failed to load 'ggml' from [WindowsPath('M:/ComfyUI_windows_portable/python_embeded/Lib/site-packages/llama_cpp/lib'), WindowsPath('M:/ComfyUI_windows_portable/python_embeded/Lib/site-packages/llama_cpp/bin')] M:\ComfyUI_windows_portable\python_embeded\Lib\site-packages\llama_cpp\bin\ggml.dll: Could not find module 'M:\ComfyUI_windows_portable\python_embeded\Lib\site-packages\llama_cpp\bin\ggml.dll' (or one of its dependencies). Try using the full path with constructor syntax. 再三核对了,下载的whl cp312对应python 3.12没错。cu版本换成128的也不行。用 dependencies.exe 加载llama_cpp/bin 目录下的 ggml.dll,发起缺了cudart64_12.dll、cublas64_12.dll两个动态库, 网上搜索到这俩库属于cuda toolkit的 。好家伙,这个toolkit安装包2.3GB。我这里偷了个懒,发现lm studio中有cudart64_12.dll、cublas64_12.dll、cublasLt64_12.dll三个dll,直接拷贝到 ComfyUI_windows_portable\python_embeded\Lib\site-packages\llama_cpp\bin ,运行就不报错了 接着,修改 ComfyUI-QwenVL 的配置文件,把qwen 3.5加进去。修改 ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-QwenVL\gguf_models.json ,在 qwenVL_model 中加一组qwen 3.5 4b gguf "Qwen3.5-4B-GGUF": { "author": "unsloth", "repo_name": "Qwen3.5-4B-GGUF", "repo_id": "unsloth/Qwen3.5-4B-GGUF", "mmproj_file": "mmproj-BF16.gguf", "model_files": [ "Qwen3.5-4B-UD-Q4_K_XL.gguf", "Qwen3.5-4B-Q4_K_M.gguf" ], "defaults": { "context_length": 8192, "image_max_tokens": 4096, "n_batch": 512, "gpu_layers": -1, "top_k": 0, "pool_size": 4194304 } }, 这里只配置了两个q4的量化版本,根据需要可以添加其他的量化版本。这个插件默认去 huggingface 下载模型的,会遇到墙的问题。我是手动去魔塔 Qwen3.5-4B-GGUF 下载了模型文件(包括mmproj文件以及模型主文件),放到了 ComfyUI\models\llm\GGUF\unsloth\Qwen3.5-4B-GGUF 目录。终于可以成功运行了 在选择详细描述的时候,如果出现输出截断的情况,需要调大max_tokens。另外可以在custom_prompt中输入额外的要求,例如要求输出为中文 不过据我测试,要求输出中文时,结果会不太稳定,可能得到极其简单的描述 | 程序控制类型/指令/提示词 | s2o1 <占位>(原文未提供) | → p2.s3.inputs[0] | ||
| 程序控制类型/流程/工作流 | <占位>(原文未提供) | ← s1o1 | |||||||||||
| s3 | 用 `ZImage` `元素生成` 将 `提示词` 重绘为写实 `成品图` | 主体生成 | 图像 | 程序控制类型/指令/提示词 | <占位>(原文未提供) | ← s2o1 | ZImage | 生成/元素生成 | 这个工作流里面三个模型,Qwen 3.5 4B q4,Qwen 3 4B q6,Z-Image turbo Q6。16G内存,16G显存,差点撑爆,可以把后面两个都换q4量化的 | 内容类型/成品/成品图 | s3o1 <ZImage 重绘后的写实风格人像图(更逼真,AI 味更淡)> | ||