摘要: 在 ComfyUI 中借助 llama.cpp 运行 Qwen3.5-9B VLM,对图片/视频进行提示词反推,并集成 z-image 扩散模型实现图生图。
使用 llamacpp + Qwen3.5 实现图片视频提示词反推
ComfyUI-llama-cpp_vlm 核心作用:
使用各种模型来反推图片或者视频内容
。本节我们首先来看其使用 Qwen3.5 来进行图片反推和视频反推的表现,然后给出图片反推工作流/视频反推工作流以及 z-image 集成图片反推能力来实现图生图工作流。
效果展示
下面以
Qwen3.5-9B-BF16.gguf
在 24G 4090 显卡上进行测试,图片反推生成提示语之后,使用 z-image 进行文生图;视频反推生成提示语之后,使用 wan2.2 进行图生视频。
反推图片内容
性能:推理一张
832*1456
的图片,显存占用约 20G,推理时间约 8s(Instruct模式),26s(Thinking 模式)
测试图片
Prompt Style Cinematic
:电影级别描述模式(
推荐
)
Prompt Style Detailed
:详细模式
Prompt Style Extreme Detailed
:极其详细描述模式
Normal Describe
:常规描述模式
Creative Detailed Analysis
:创造性的详细分析模式
反推视频内容
性能:推理一段
640*640
64 帧的视频,显存占用约 20G,推理时间约 17s
测试视频
Creative Summarize Video
:视频总结模式
插件安装
使用 ComfyUI-Manager 安装插件
https://github.com/lihaoyun6/ComfyUI-llama-cpp_vlm
,之后重启 ComfyUI。
模型下载
手动下载模型:
•
https://huggingface.co/unsloth/Qwen3.5-9B-GGUF/blob/main/Qwen3.5-9B-BF16.gguf
•
https://huggingface.co/unsloth/Qwen3.5-9B-GGUF/blob/main/mmproj-BF16.gguf
下载之后放置到 ComfyUI/models/LLM/ 目录下。
其他版本的也都可以在 unsloth 下找到,根据自己的显存大小进行选择下载。
工作流
反推图片内容
节点
Llama-cpp Model Loader
:核心参数
• chat_handler:模式选择,例如 Qwen3.5,Qwen3.5-Thinking,前者是非思考模式,后者是思考模式
节点
Llama-cpp Parameters
:核心参数
• max_tokens:可生成的最大 token 数,通常最大设置为 2048 就差不多了,其他模型推理参数可以使用默认,关于模型推理参数,在 基于 ollama 和 Qwen 定义模型角色和模型破限 一文中,有做说明。
节点
Llama-cpp Instruct
:核心参数
• preset_prompt:预设提示语模板,图片推荐选择
Prompt Style Cinematic
,视频推荐选择
Creative Summarize Video
• inference_model:推理模式,图片推荐选择
one by one
,视频推荐选择
video
• max_frames:用于视频,推理的最大帧数
• force_offload:如果显存有限,在反推后,要立即进行生图或者生视频工作流,则设置为true;如果准备批量的不断的进行反推,那么设置为false,不用频繁的加载模型,提高工作流执行速度
反推视频内容
z-image 图生图工作流
| 需求 | 输入 | 实现 | 输出 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| # | 目的 | 作用 | 实质 | 形式 | 类型 | 值 | 来源 | 外部工具 | 动作 | 指令 | 类型 | 值 | 去处 |
| s1 | 预准备上传参考图到 ComfyUI | 预准备 | 内容类型/素材/化学变化/参考图 | <待反推输入图片> | ← 工序输入 | ComfyUI | 获取/录入/上传 | 内容类型/素材/化学变化/参考图 | s1o1 <已加载图片> | → s4 | |||
| s2 | 预准备调取模型权重加载 VLM | 预准备 | 程序控制类型/参数/模型权重 | Qwen3.5-9B-BF16.gguf | ← 声明资源 | ComfyUI-llama-cpp_vlm | 获取/查询/调取 | VLM推理实例 | s2o1 <VLM模型运行实例>(原文未提供) | → s4 | |||
| 程序控制类型/参数/模型权重 | mmproj-BF16.gguf | ← 声明资源 | |||||||||||
| s3 | 工艺规约键入生成参数配置推理参数 | 工艺规约 | 程序控制类型/参数/生成参数 | 节点 Llama-cpp Parameters :核心参数 • max_tokens:可生成的最大 token 数,通常最大设置为 2048 就差不多了,其他模型推理参数可以使用默认,关于模型推理参数,在 基于 ollama 和 Qwen 定义模型角色和模型破限 一文中,有做说明。 节点 Llama-cpp Instruct | ← 人工配置 | ComfyUI-llama-cpp_vlm | 获取/录入/键入 | 程序控制类型/参数/生成参数 | s3o1 节点 Llama-cpp Parameters :核心参数 • max_tokens:可生成的最大 token 数,通常最大设置为 2048 就差不多了,其他模型推理参数可以使用默认,关于模型推理参数,在 基于 ollama 和 Qwen 定义模型角色和模型破限 一文中,有做说明。 节点 Llama-cpp Instruct | → s4 | |||
| s4 | ComfyUI-llama-cpp_vlm反推参考图生成提示词 | 主体生成 | AI推理/视觉语言模型推理 | 文字/提示词 | VLM推理实例 | <VLM模型运行实例>(原文未提供) | ← s2o1 | ComfyUI-llama-cpp_vlm | 提取/化学提取/反推 | 节点 Llama-cpp Instruct :核心参数 • preset_prompt:预设提示语模板,图片推荐选择 Prompt Style Cinematic ,视频推荐选择 Creative Summarize Video • inference_model:推理模式,图片推荐选择 one by one ,视频推荐选择 video • max_frames:用于视频,推理的最大帧数 • force_offload:如果显存有限,在反推后,要立即进行生图或者生视频工作流,则设置为true;如果准备批量的不断的进行反推,那么设置为false,不用频繁的加载模型,提高工作流执行速度 反推视频内容 | 程序控制类型/指令/提示词 | s4o1 <图片描述提示词>(原文未提供) | → 返回 |
| 程序控制类型/参数/生成参数 | 节点 Llama-cpp Parameters :核心参数 • max_tokens:可生成的最大 token 数,通常最大设置为 2048 就差不多了,其他模型推理参数可以使用默认,关于模型推理参数,在 基于 ollama 和 Qwen 定义模型角色和模型破限 一文中,有做说明。 节点 Llama-cpp Instruct | ← s3o1 | |||||||||||
| 内容类型/素材/化学变化/参考图 | <已加载参考图> | ← s1o1 | |||||||||||
| 需求 | 输入 | 实现 | 输出 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| # | 目的 | 作用 | 实质 | 形式 | 类型 | 值 | 来源 | 外部工具 | 动作 | 指令 | 类型 | 值 | 去处 |
| s1 | 预准备上传参考视频到 ComfyUI | 预准备 | 内容类型/素材/化学变化/参考视频 | <待分析输入视频> | ← 工序输入 | ComfyUI | 获取/录入/上传 | 视频帧序列 | s1o1 <已加载的视频帧序列> | → s4 | |||
| s2 | 预准备调取模型权重加载 VLM | 预准备 | 程序控制类型/参数/模型权重 | Qwen3.5-9B-BF16.gguf | ← 声明资源 | ComfyUI-llama-cpp_vlm | 获取/查询/调取 | VLM推理实例 | s2o1 <VLM模型运行实例>(原文未提供) | → s4 | |||
| 程序控制类型/参数/模型权重 | mmproj-BF16.gguf | ← 声明资源 | |||||||||||
| s3 | 工艺规约键入生成参数配置推理参数 | 工艺规约 | 程序控制类型/参数/生成参数 | 节点 Llama-cpp Parameters :核心参数 • max_tokens:可生成的最大 token 数,通常最大设置为 2048 就差不多了,其他模型推理参数可以使用默认,关于模型推理参数,在 基于 ollama 和 Qwen 定义模型角色和模型破限 一文中,有做说明。 节点 Llama-cpp Instruct | ← 人工配置 | ComfyUI-llama-cpp_vlm | 获取/录入/键入 | 程序控制类型/参数/生成参数 | s3o1 节点 Llama-cpp Parameters :核心参数 • max_tokens:可生成的最大 token 数,通常最大设置为 2048 就差不多了,其他模型推理参数可以使用默认,关于模型推理参数,在 基于 ollama 和 Qwen 定义模型角色和模型破限 一文中,有做说明。 节点 Llama-cpp Instruct | → s4 | |||
| s4 | ComfyUI-llama-cpp_vlm解构参考视频输出描述 | 主体生成 | AI推理/视觉语言模型推理 | 文字/自然语言摘要 | VLM推理实例 | <VLM模型运行实例>(原文未提供) | ← s2o1 | ComfyUI-llama-cpp_vlm | 提取/化学提取/解构 | 节点 Llama-cpp Instruct :核心参数 • preset_prompt:预设提示语模板,图片推荐选择 Prompt Style Cinematic ,视频推荐选择 Creative Summarize Video • inference_model:推理模式,图片推荐选择 one by one ,视频推荐选择 video • max_frames:用于视频,推理的最大帧数 • force_offload:如果显存有限,在反推后,要立即进行生图或者生视频工作流,则设置为true;如果准备批量的不断的进行反推,那么设置为false,不用频繁的加载模型,提高工作流执行速度 反推视频内容 | 程序控制类型/指令/描述 | s4o1 <视频内容摘要文本>(原文未提供) | → 返回 |
| 程序控制类型/参数/生成参数 | 节点 Llama-cpp Parameters :核心参数 • max_tokens:可生成的最大 token 数,通常最大设置为 2048 就差不多了,其他模型推理参数可以使用默认,关于模型推理参数,在 基于 ollama 和 Qwen 定义模型角色和模型破限 一文中,有做说明。 节点 Llama-cpp Instruct | ← s3o1 | |||||||||||
| 视频帧序列 | <已加载参考图> | ← s1o1 | |||||||||||
| 需求 | 输入 | 实现 | 输出 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| # | 目的 | 作用 | 实质 | 形式 | 类型 | 值 | 来源 | 外部工具 | 动作 | 指令 | 类型 | 值 | 去处 |
| s1 | 预准备上传参考图到 ComfyUI | 预准备 | 内容类型/素材/化学变化/参考图 | <待图生图参考图片> | ← 工序输入 | ComfyUI | 获取/录入/上传 | 内容类型/素材/化学变化/参考图 | s1o1 <已加载参考图> | → s4 | |||
| s2 | 预准备调取模型权重加载 VLM | 预准备 | 程序控制类型/参数/模型权重 | Qwen3.5-9B-BF16.gguf | ← 声明资源 | ComfyUI-llama-cpp_vlm | 获取/查询/调取 | VLM推理实例 | s2o1 <VLM模型运行实例>(原文未提供) | → s4 | |||
| 程序控制类型/参数/模型权重 | mmproj-BF16.gguf | ← 声明资源 | |||||||||||
| s3 | 工艺规约键入生成参数配置推理参数 | 工艺规约 | 程序控制类型/参数/生成参数 | 节点 Llama-cpp Parameters :核心参数 • max_tokens:可生成的最大 token 数,通常最大设置为 2048 就差不多了,其他模型推理参数可以使用默认,关于模型推理参数,在 基于 ollama 和 Qwen 定义模型角色和模型破限 一文中,有做说明。 节点 Llama-cpp Instruct | ← 人工配置 | ComfyUI-llama-cpp_vlm | 获取/录入/键入 | 程序控制类型/参数/生成参数 | s3o1 节点 Llama-cpp Parameters :核心参数 • max_tokens:可生成的最大 token 数,通常最大设置为 2048 就差不多了,其他模型推理参数可以使用默认,关于模型推理参数,在 基于 ollama 和 Qwen 定义模型角色和模型破限 一文中,有做说明。 节点 Llama-cpp Instruct | → s4 | |||
| s4 | ComfyUI-llama-cpp_vlm反推参考图提取提示词 | 预处理 | AI推理/视觉语言模型推理 | 文字/提示词 | VLM推理实例 | <VLM模型运行实例>(原文未提供) | ← s2o1 | ComfyUI-llama-cpp_vlm | 提取/化学提取/反推 | 节点 Llama-cpp Instruct :核心参数 • preset_prompt:预设提示语模板,图片推荐选择 Prompt Style Cinematic ,视频推荐选择 Creative Summarize Video • inference_model:推理模式,图片推荐选择 one by one ,视频推荐选择 video • max_frames:用于视频,推理的最大帧数 • force_offload:如果显存有限,在反推后,要立即进行生图或者生视频工作流,则设置为true;如果准备批量的不断的进行反推,那么设置为false,不用频繁的加载模型,提高工作流执行速度 反推视频内容 | 程序控制类型/指令/提示词 | s4o1 <参考图反推提示词>(原文未提供) | → s6 |
| 程序控制类型/参数/生成参数 | 节点 Llama-cpp Parameters :核心参数 • max_tokens:可生成的最大 token 数,通常最大设置为 2048 就差不多了,其他模型推理参数可以使用默认,关于模型推理参数,在 基于 ollama 和 Qwen 定义模型角色和模型破限 一文中,有做说明。 节点 Llama-cpp Instruct | ← s3o1 | |||||||||||
| 内容类型/素材/化学变化/参考图 | <已加载参考图> | ← s1o1 | |||||||||||
| s5 | 预准备调取模型权重加载扩散模型 | 预准备 | 程序控制类型/参数/模型权重 | z-image_image_turbo | ← 声明资源 | ComfyUI | 获取/查询/调取 | 扩散模型实例 | s5o1 <扩散模型运行实例>(原文未提供) | → s6 | |||
| 程序控制类型/参数/模型权重 | qwen3_4b (lumina2) | ← 声明资源 | CLIP实例 | s5o2 <CLIP编码器运行实例>(原文未提供) | → s6 | ||||||||
| 程序控制类型/参数/模型权重 | flux_ae.safetensors | ← 声明资源 | VAE实例 | s5o3 <VAE解码器运行实例>(原文未提供) | → s8 | ||||||||
| s6 | ComfyUI转换提示词编码为文本条件 | 预处理 | 文本嵌入/语义编码 | 程序控制类型/指令/提示词 | <参考图反推提示词>(原文未提供) | ← s4o1 | ComfyUI | 修改/变/转换 | 程序控制类型/参数/生成参数 | s6o1 <正向文本条件张量>(原文未提供) | → s7 | ||
| CLIP实例 | <CLIP编码器运行实例>(原文未提供) | ← s5o2 | 程序控制类型/指令/负向提示词 | s6o2 <负向文本条件张量>(原文未提供) | → s7 | ||||||||
| 扩散模型实例 | <扩散模型运行实例>(原文未提供) | ← s5o1 | 程序控制类型/参数/生成参数 | s6o3 <CFG引导配置对象>(原文未提供) | → s7 | ||||||||
| 潜变量 | s6o4 <初始潜空间张量>(原文未提供) | → s7 | |||||||||||
| s7 | ComfyUI元素生成生成参数采样生成潜变量 | 主体生成 | AI图像生成/扩散采样 | 程序控制类型/参数/生成参数 | <CFG引导配置对象>(原文未提供) | ← s6o3 | ComfyUI | 生成/元素生成 | 潜变量 | s7o1 <采样潜空间张量>(原文未提供) | → s8 | ||
| 潜变量 | <初始潜空间张量>(原文未提供) | ← s6o4 | |||||||||||
| 程序控制类型/参数/生成参数 | <采样调度参数配置>(原文未提供) | ← 人工配置 | |||||||||||
| s8 | ComfyUI转换潜变量解码为成品图 | 后期 | AI图像生成/像素解码 | 图像 | 潜变量 | <采样潜空间张量>(原文未提供) | ← s7o1 | ComfyUI | 修改/变/转换 | 内容类型/成品/成品图 | s8o1 <VAE 解码生成的最终图片> | → 返回 | |
| VAE实例 | <VAE解码器运行实例>(原文未提供) | ← s5o3 | |||||||||||