外部 LLM 服务器集成
ComfyUI 本身是"连接图像、视频等生成工作流的引擎",基本上不具备运行 LLM 的功能。
因此,将 LLM 的工作交给独立的推理引擎(服务器),ComfyUI 只负责"发送请求并接收结果"。
为什么要分离处理?
虽然也存在完全在 ComfyUI 内部运行的自定义节点,但 LLM 环境的依赖关系较重,某些组合可能导致 ComfyUI 无法启动。 保持分离,就不会污染 ComfyUI 的环境。
此外,专为 LLM 开发的工具对最新模型的支持往往更快,也更稳定。 如果你有多台性能强劲的 PC,甚至可以将处理迁移到另一台机器上。
连接方式
集成方式有多种,但目前最易用的是 OpenAI API 兼容格式。
虽然名字里有"OpenAI",但它已作为面向聊天类 LLM 的通用 HTTP API 格式被广泛采用。 Ollama 也提供了这个兼容 API,因此在 ComfyUI 侧使用 OpenAI 兼容节点是最便捷的方案。
安装 Ollama

本次使用简单易用的开源推理引擎 Ollama。
安装
从官网下载安装程序并运行。
安装完成后,Ollama 会作为后台服务运行。任务栏托盘中出现图标即表示准备就绪。
下载模型
找到你想使用的模型。可以在 Ollama Search 搜索支持的模型。
本次使用 qwen3-vl:8b——一个轻量但性能出色、同时支持图像输入的模型。
打开终端,运行:
ollama run qwen3-vl:8b
其他适合本地使用的模型:
- gemma3 : Google 开发,可用于与 Qwen3 VL 类似的用途
- gpt-oss:20b : OpenAI 的开放权重模型,仅支持文本处理,但非常强大
- ◯◯-Abliterated : 即使是开放权重模型,通常也内置了审查机制(不仅限于 NSFW)。移除了这种对齐的模型会带有此类名称
- UGI Leaderboard 可以找到各种模型
从 ComfyUI 调用
安装一个自定义节点,以便从 ComfyUI 访问 Ollama。
自定义节点
使用能以 OpenAI API 兼容格式发送请求的节点。任意一款均可,这里选用最简洁的一款。
最简聊天

{
"id": "5be6d03e-cb7b-47ae-8cf7-3a4c7e7780c3",
"revision": 0,
"last_node_id": 3,
"last_link_id": 2,
"nodes": [
{
"id": 1,
"type": "OAIAPI_Client",
"pos": [
1256.9237470507412,
424.5453418398783
],
"size": [
267.183749569263,
130
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "API Client",
"type": "OAIAPI_CLIENT",
"links": [
2
]
}
],
"properties": {
"cnr_id": "openai-api",
"ver": "2.0.1",
"Node name for S&R": "OAIAPI_Client"
},
"widgets_values": [
"http://localhost:11434/v1/",
2,
600,
"-"
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 2,
"type": "PreviewAny",
"pos": [
1944.2304372735991,
424.5453418398783
],
"size": [
305.8110360283026,
173.1634419460412
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "source",
"type": "*",
"link": 1
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.12.3",
"Node name for S&R": "PreviewAny"
},
"widgets_values": [
null,
null,
null
]
},
{
"id": 3,
"type": "OAIAPI_ChatCompletion",
"pos": [
1566.4133360039202,
424.5453418398783
],
"size": [
343.83210292308524,
250
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"label": "API Client",
"name": "client",
"type": "OAIAPI_CLIENT",
"link": 2
},
{
"label": "History",
"name": "history",
"shape": 7,
"type": "OAIAPI_HISTORY",
"link": null
},
{
"label": "Options",
"name": "options",
"shape": 7,
"type": "OAIAPI_OPTIONS",
"link": null
},
{
"label": "image(s)",
"name": "images",
"shape": 7,
"type": "IMAGE",
"link": null
}
],
"outputs": [
{
"name": "Response",
"type": "STRING",
"links": [
1
]
},
{
"name": "History",
"type": "OAIAPI_HISTORY",
"links": []
}
],
"properties": {
"cnr_id": "openai-api",
"ver": "2.0.1",
"Node name for S&R": "OAIAPI_ChatCompletion"
},
"widgets_values": [
"qwen3-vl:8b",
false,
"ComfyUIについて3行で説明してくれる?",
""
],
"color": "#232",
"bgcolor": "#353"
}
],
"links": [
[
1,
3,
0,
2,
0,
"STRING"
],
[
2,
1,
0,
3,
0,
"OAIAPI_CLIENT"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.7385846227941185,
"offset": [
-835.8480972173263,
335.0155570557643
]
},
"frontendVersion": "1.38.13",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
base_url:http://localhost:11434/v1(Ollama 的默认地址)api_key: 使用 Ollama 时无需填写。model: 输入刚才下载的模型名称(如qwen3-vl:8b)system_prompt: 可省略
在节点顶部的输入框中输入消息,点击 ▷Run 即可。
继续对话
该节点内部没有"记忆"功能。
若要延续对话,将上一个节点的 History 连接到下一个节点的 History,每次请求时一并发送历史记录。

{
"id": "8a210cef-17e0-42bc-8b0e-871c038c469a",
"revision": 0,
"last_node_id": 5,
"last_link_id": 5,
"nodes": [
{
"id": 1,
"type": "OAIAPI_Client",
"pos": [
1392.3178466756317,
226.8699563875366
],
"size": [
267.183749569263,
130
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "API Client",
"type": "OAIAPI_CLIENT",
"links": [
1,
4
]
}
],
"properties": {
"cnr_id": "openai-api",
"ver": "2.0.1",
"Node name for S&R": "OAIAPI_Client"
},
"widgets_values": [
"http://localhost:11434/v1/",
2,
600,
"-"
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 2,
"type": "OAIAPI_ChatCompletion",
"pos": [
1701.807435628811,
226.8699563875366
],
"size": [
343.83210292308524,
250
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"label": "API Client",
"name": "client",
"type": "OAIAPI_CLIENT",
"link": 1
},
{
"label": "History",
"name": "history",
"shape": 7,
"type": "OAIAPI_HISTORY",
"link": null
},
{
"label": "Options",
"name": "options",
"shape": 7,
"type": "OAIAPI_OPTIONS",
"link": null
},
{
"label": "image(s)",
"name": "images",
"shape": 7,
"type": "IMAGE",
"link": null
}
],
"outputs": [
{
"name": "Response",
"type": "STRING",
"links": [
3
]
},
{
"name": "History",
"type": "OAIAPI_HISTORY",
"links": [
5
]
}
],
"properties": {
"cnr_id": "openai-api",
"ver": "2.0.1",
"Node name for S&R": "OAIAPI_ChatCompletion"
},
"widgets_values": [
"qwen3-vl:8b",
false,
"ComfyUIについて3行で説明してくれる?",
""
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 3,
"type": "PreviewAny",
"pos": [
2079.6245368984896,
553.2104450771485
],
"size": [
305.8110360283026,
173.1634419460412
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "source",
"type": "*",
"link": 2
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.12.3",
"Node name for S&R": "PreviewAny"
},
"widgets_values": [
null,
null,
null
]
},
{
"id": 4,
"type": "PreviewAny",
"pos": [
2079.6245368984896,
226.8699563875366
],
"size": [
305.8110360283026,
173.1634419460412
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "source",
"type": "*",
"link": 3
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.12.3",
"Node name for S&R": "PreviewAny"
},
"widgets_values": [
null,
null,
null
]
},
{
"id": 5,
"type": "OAIAPI_ChatCompletion",
"pos": [
1705.9130536119496,
553.2104450771485
],
"size": [
343.83210292308524,
250
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"label": "API Client",
"name": "client",
"type": "OAIAPI_CLIENT",
"link": 4
},
{
"label": "History",
"name": "history",
"shape": 7,
"type": "OAIAPI_HISTORY",
"link": 5
},
{
"label": "Options",
"name": "options",
"shape": 7,
"type": "OAIAPI_OPTIONS",
"link": null
},
{
"label": "image(s)",
"name": "images",
"shape": 7,
"type": "IMAGE",
"link": null
}
],
"outputs": [
{
"name": "Response",
"type": "STRING",
"links": [
2
]
},
{
"name": "History",
"type": "OAIAPI_HISTORY",
"links": null
}
],
"properties": {
"cnr_id": "openai-api",
"ver": "2.0.1",
"Node name for S&R": "OAIAPI_ChatCompletion"
},
"widgets_values": [
"qwen3-vl:8b",
false,
"それを英語に翻訳してください。",
""
],
"color": "#432",
"bgcolor": "#653"
}
],
"links": [
[
1,
1,
0,
2,
0,
"OAIAPI_CLIENT"
],
[
2,
5,
0,
3,
0,
"STRING"
],
[
3,
2,
0,
4,
0,
"STRING"
],
[
4,
1,
0,
5,
0,
"OAIAPI_CLIENT"
],
[
5,
2,
1,
5,
1,
"OAIAPI_HISTORY"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.9830561329389721,
"offset": [
-1048.7993731789354,
224.39066423940017
]
},
"frontendVersion": "1.38.13",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
- 🟨 将上一个节点的
History连接到下一个节点的History
图像输入
如果使用的是 Qwen3 VL 等支持图像理解的 MLLM,可以输入图像并就其内容提问。

{
"id": "5be6d03e-cb7b-47ae-8cf7-3a4c7e7780c3",
"revision": 0,
"last_node_id": 11,
"last_link_id": 10,
"nodes": [
{
"id": 1,
"type": "OAIAPI_Client",
"pos": [
1256.9237470507412,
424.5453418398783
],
"size": [
267.183749569263,
130
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "API Client",
"type": "OAIAPI_CLIENT",
"links": [
2
]
}
],
"properties": {
"cnr_id": "openai-api",
"ver": "2.0.1",
"Node name for S&R": "OAIAPI_Client"
},
"widgets_values": [
"http://localhost:11434/v1/",
2,
600,
"-"
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 2,
"type": "PreviewAny",
"pos": [
1944.2304372735991,
424.5453418398783
],
"size": [
305.8110360283026,
173.1634419460412
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "source",
"type": "*",
"link": 1
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.12.3",
"Node name for S&R": "PreviewAny"
},
"widgets_values": [
null,
null,
null
]
},
{
"id": 3,
"type": "OAIAPI_ChatCompletion",
"pos": [
1566.4133360039202,
424.5453418398783
],
"size": [
343.83210292308524,
250
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"label": "API Client",
"name": "client",
"type": "OAIAPI_CLIENT",
"link": 2
},
{
"label": "History",
"name": "history",
"shape": 7,
"type": "OAIAPI_HISTORY",
"link": null
},
{
"label": "Options",
"name": "options",
"shape": 7,
"type": "OAIAPI_OPTIONS",
"link": null
},
{
"label": "image(s)",
"name": "images",
"shape": 7,
"type": "IMAGE",
"link": 10
}
],
"outputs": [
{
"name": "Response",
"type": "STRING",
"links": [
1
]
},
{
"name": "History",
"type": "OAIAPI_HISTORY",
"links": []
}
],
"properties": {
"cnr_id": "openai-api",
"ver": "2.0.1",
"Node name for S&R": "OAIAPI_ChatCompletion"
},
"widgets_values": [
"qwen3-vl:8b",
false,
"この二枚に共通する特徴を一つ挙げてください",
""
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 9,
"type": "LoadImage",
"pos": [
808.7037790694108,
625.4916680853971
],
"size": [
249.24696178576028,
336.37919002064325
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
8
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.12.3",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"run_021_1x1_0025_00001_.png",
"image"
]
},
{
"id": 11,
"type": "BatchImagesNode",
"pos": [
1354.8770278700042,
625.4916680853971
],
"size": [
169.23046875,
66
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"label": "image0",
"name": "images.image0",
"type": "IMAGE",
"link": 8
},
{
"label": "image1",
"name": "images.image1",
"type": "IMAGE",
"link": 9
},
{
"label": "image2",
"name": "images.image2",
"shape": 7,
"type": "IMAGE",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
10
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.12.3",
"Node name for S&R": "BatchImagesNode"
},
"color": "#223",
"bgcolor": "#335"
},
{
"id": 10,
"type": "LoadImage",
"pos": [
1081.2841599836242,
723.601981344597
],
"size": [
249.24696178576028,
336.37919002064325
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
9
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.12.3",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"run_021_1x1_0006_00001_.png",
"image"
]
}
],
"links": [
[
1,
3,
0,
2,
0,
"STRING"
],
[
2,
1,
0,
3,
0,
"OAIAPI_CLIENT"
],
[
8,
9,
0,
11,
0,
"IMAGE"
],
[
9,
10,
0,
11,
1,
"IMAGE"
],
[
10,
11,
0,
3,
3,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 1.0813617462328695,
"offset": [
-502.96365316369327,
-103.40033778798194
]
},
"frontendVersion": "1.38.13",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
- 将图像连接到
image(s) - 🟦 若要输入多张图像,先用
Batch Images合并后再输入
提示词生成 → 图像生成
趁此机会,让模型根据输入图像生成提示词,再用该提示词生成相似图像。

{
"id": "d8034549-7e0a-40f1-8c2e-de3ffc6f1cae",
"revision": 0,
"last_node_id": 62,
"last_link_id": 108,
"nodes": [
{
"id": 8,
"type": "VAEDecode",
"pos": [
1252.432861328125,
188.1918182373047
],
"size": [
157.56002807617188,
46
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 35
},
{
"name": "vae",
"type": "VAE",
"link": 76
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"slot_index": 0,
"links": [
101
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.33",
"Node name for S&R": "VAEDecode"
},
"widgets_values": []
},
{
"id": 38,
"type": "CLIPLoader",
"pos": [
56.288665771484375,
312.74468994140625
],
"size": [
301.3524169921875,
106
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "CLIP",
"type": "CLIP",
"slot_index": 0,
"links": [
74,
75
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.33",
"Node name for S&R": "CLIPLoader"
},
"widgets_values": [
"qwen_3_4b.safetensors",
"lumina2",
"default"
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 7,
"type": "CLIPTextEncode",
"pos": [
415,
405.392333984375
],
"size": [
418.3189392089844,
107.08506774902344
],
"flags": {
"collapsed": true
},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 75
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
52
]
}
],
"title": "CLIP Text Encode (Negative Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.33",
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
""
]
},
{
"id": 37,
"type": "UNETLoader",
"pos": [
267.6552734375,
53.0477294921875
],
"size": [
305.3782043457031,
82
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [
99
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.33",
"Node name for S&R": "UNETLoader"
},
"widgets_values": [
"Z-Image\\z_image_turbo_bf16.safetensors",
"fp8_e4m3fn"
],
"color": "#323",
"bgcolor": "#535"
},
{
"id": 54,
"type": "ModelSamplingAuraFlow",
"pos": [
603.9390258789062,
53.0477294921875
],
"size": [
230.33058166503906,
58
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 99
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
100
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.49",
"Node name for S&R": "ModelSamplingAuraFlow"
},
"widgets_values": [
3.1
]
},
{
"id": 39,
"type": "VAELoader",
"pos": [
977.9548217773436,
68.20164184570308
],
"size": [
235.80000000000018,
58
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "VAE",
"type": "VAE",
"slot_index": 0,
"links": [
76
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.33",
"Node name for S&R": "VAELoader"
},
"widgets_values": [
"ae.safetensors"
],
"color": "#322",
"bgcolor": "#533"
},
{
"id": 3,
"type": "KSampler",
"pos": [
898.7548217773438,
188.1918182373047
],
"size": [
315,
262
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 100
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 46
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 52
},
{
"name": "latent_image",
"type": "LATENT",
"link": 98
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"slot_index": 0,
"links": [
35
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.33",
"Node name for S&R": "KSampler"
},
"widgets_values": [
1234,
"fixed",
8,
1,
"euler",
"simple",
1
]
},
{
"id": 57,
"type": "OAIAPI_Client",
"pos": [
-417.7513558712079,
-213.2272865295409
],
"size": [
267.183749569263,
130
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "API Client",
"type": "OAIAPI_CLIENT",
"links": [
103
]
}
],
"properties": {
"cnr_id": "openai-api",
"ver": "2.0.1",
"Node name for S&R": "OAIAPI_Client"
},
"widgets_values": [
"http://localhost:11434/v1/",
2,
600,
"-"
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 58,
"type": "PreviewAny",
"pos": [
267.6552734375,
-213.2272865295409
],
"size": [
305.8110360283026,
173.1634419460412
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "source",
"type": "*",
"link": 102
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.12.3",
"Node name for S&R": "PreviewAny"
},
"widgets_values": [
null,
null,
null
]
},
{
"id": 6,
"type": "CLIPTextEncode",
"pos": [
415,
186
],
"size": [
419.26959228515625,
156.00363159179688
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 74
},
{
"name": "text",
"type": "STRING",
"widget": {
"name": "text"
},
"link": 108
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [
46
]
}
],
"title": "CLIP Text Encode (Positive Prompt)",
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.33",
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
""
]
},
{
"id": 60,
"type": "LoadImage",
"pos": [
-417.7513558712079,
-12.280960284022356
],
"size": [
268.283749569263,
326
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
107
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.12.3",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"run_019_4x3_0097_00001_.png",
"image"
]
},
{
"id": 59,
"type": "OAIAPI_ChatCompletion",
"pos": [
-113.37221789376508,
-213.2272865295409
],
"size": [
343.83210292308524,
250
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"label": "API Client",
"name": "client",
"type": "OAIAPI_CLIENT",
"link": 103
},
{
"label": "History",
"name": "history",
"shape": 7,
"type": "OAIAPI_HISTORY",
"link": null
},
{
"label": "Options",
"name": "options",
"shape": 7,
"type": "OAIAPI_OPTIONS",
"link": null
},
{
"label": "image(s)",
"name": "images",
"shape": 7,
"type": "IMAGE",
"link": 107
}
],
"outputs": [
{
"name": "Response",
"type": "STRING",
"links": [
102,
108
]
},
{
"name": "History",
"type": "OAIAPI_HISTORY",
"links": []
}
],
"properties": {
"cnr_id": "openai-api",
"ver": "2.0.1",
"Node name for S&R": "OAIAPI_ChatCompletion"
},
"widgets_values": [
"qwen3-vl:8b",
false,
"Please generate a text prompt to create this image.",
"You are an assistant that writes a single image-generation prompt for Z-Image based on the user-provided image. Your goal is maximum visual fidelity to the input image.\n\nOutput only the prompt itself, in natural English prose. Do not include any preface, labels, bullet points, explanations, or formatting.\n\nDescribe what is actually visible in the image, without inventing new objects, characters, text, logos, or story elements. When you must infer something uncertain, phrase it cautiously (e.g., “appears to be,” “suggesting,” “likely”).\n\nMake sure your prompt clearly covers:\n\n* The main subject and key details (identity/type, pose, expression, orientation, clothing or defining features).\n* The camera and composition (distance, angle, framing, perspective, depth of field).\n* The setting/background (location cues, surrounding objects, sense of depth, time of day/season if evident).\n* Lighting (source direction, softness/hardness, color temperature, shadow behavior).\n* Color palette and materials (dominant colors, textures, reflectivity/roughness, fabric/skin/metal/glass characteristics).\n* The image’s style (photo/illustration/3D/anime, line quality, shading/painting/rendering traits).\n* The overall mood/atmosphere.\n\nEnd with one final sentence that states positive, natural constraints to preserve coherence and prevent common artifacts, without using “no …” phrasing.\n"
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 53,
"type": "EmptySD3LatentImage",
"pos": [
597.2695922851562,
482.05751390379885
],
"size": [
237,
106
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
98
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.49",
"Node name for S&R": "EmptySD3LatentImage"
},
"widgets_values": [
1472,
1104,
1
]
},
{
"id": 56,
"type": "SaveImage",
"pos": [
1443.3798111474612,
192.6578574704594
],
"size": [
560.6479999999997,
500.67599999999993
],
"flags": {},
"order": 13,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 101
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.75"
},
"widgets_values": [
"ComfyUI"
]
}
],
"links": [
[
35,
3,
0,
8,
0,
"LATENT"
],
[
46,
6,
0,
3,
1,
"CONDITIONING"
],
[
52,
7,
0,
3,
2,
"CONDITIONING"
],
[
74,
38,
0,
6,
0,
"CLIP"
],
[
75,
38,
0,
7,
0,
"CLIP"
],
[
76,
39,
0,
8,
1,
"VAE"
],
[
98,
53,
0,
3,
3,
"LATENT"
],
[
99,
37,
0,
54,
0,
"MODEL"
],
[
100,
54,
0,
3,
0,
"MODEL"
],
[
101,
8,
0,
56,
0,
"IMAGE"
],
[
102,
59,
0,
58,
0,
"STRING"
],
[
103,
57,
0,
59,
0,
"OAIAPI_CLIENT"
],
[
107,
60,
0,
59,
3,
"IMAGE"
],
[
108,
59,
0,
6,
1,
"STRING"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.6209213230591554,
"offset": [
903.4750464307022,
893.2631918092898
]
},
"frontendVersion": "1.38.13",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
- 在系统提示词中指定输出格式,例如"输出可直接使用的图像生成提示词"。
- 之后只需将输出连接到
CLIP Text Encode即可。