Skip to content
🚀 快速起步第 7 / 7 节

第一次生图:默认工作流逐节点讲透 ​

装好了 ComfyUI、放好了模型,接下来就是这节课的目标:跑通你的第一次 ComfyUI 文生图,并且不是「照着点一遍就完」,而是把屏幕上那条默认工作流一个节点一个节点讲透——每个方块干什么、参数什么意思、数据怎么流动。

先说清一件事,免得你对不上号:官方入门教程用的示例工作流,和当前版本 ComfyUI 内置的默认工作流,不是同一套。

  • 官方入门文档教的经典工作流:SD1.5 六节点(Load Checkpoint → CLIP Text Encode → Empty Latent Image → KSampler → VAE Decode → Save Image,官方教程按六类节点讲,正负两个 CLIP Text Encode 算一类),一个 checkpoint 文件搞定,上节课你放进 checkpoints 的 v1-5-pruned-emaonly-fp16.safetensors 就是给它用的
  • 当前版本(v0.41.0 起)内置的默认工作流:基于 Z-Image-Turbo 的十节点工作流,模型拆成三个文件分别加载,出图 1024×1024

两套本页都会逐节点讲透。它们的骨架完全一样:加载模型 → 编码提示词 → 造一块空画布 → 去噪采样 → 解码成图片 → 保存。学会一套,ComfyUI 所有文生图工作流你都能看懂。

学完你能做什么 ​

  • 独立完成第一次 ComfyUI 文生图:加载工作流 → 补齐模型 → 写提示词 → 点 Run → 保存图片
  • 说得出经典六节点工作流里每个节点的职责:Load Checkpoint、CLIP Text Encode、Empty Latent Image、KSampler、VAE Decode、Save Image
  • 看懂当前版本内置的 Z-Image-Turbo 默认工作流,知道它和经典工作流的节点差异
  • 会写正向/负向提示词,会用 (关键词:1.2) 权重语法加强某个词
  • 会调 KSampler 的 steps、cfg、denoise、seed,知道每个参数动一下会发生什么

你现在的困境 ​

  • 打开 ComfyUI,满屏方块和连线,不知道从哪里下手,生怕点错弄坏什么
  • 节点上飘着红色警告说缺模型,不知道该下哪个文件、放进哪个文件夹
  • 照着网上教程找节点,发现界面里的工作流和教程截图对不上,越看越懵

什么时候用这一招 ​

当你需要:

  • 跑出第一张 AI 生成的图,确认整套环境没问题
  • 看懂节点式生图的流水线,而不是只会「按教程连线」
  • 给后面学 Z-Image-Turbo、Qwen-Image、FLUX 这些模型工作流打好地基

而且不想:

  • 换一个模型、换一套工作流就完全不知所措
  • 一遇到红色报错就想重装

🎒 开始前的准备 ​

  • 装好并能启动 ComfyUI:Windows 便携包看 安装:Windows 便携包,桌面版 / macOS / Linux 看 备用安装
  • 完成了上节课 模型放哪里:models/checkpoints/ 里已经有 v1-5-pruned-emaonly-fp16.safetensors(官方入门模型,约 4GB)
  • 显存别太紧张:官方文档说 SD1.5 约 4GB 大小、6GB 显存的消费级显卡就能流畅跑;Z-Image-Turbo 路线建议 16GB 显存
  • 网络能访问 Hugging Face:缺模型时自动下载从 Hugging Face 拉文件,国内网络可能需要代理(下载慢不是你操作错了)

💡 界面是中文的

ComfyUI 支持中文界面:打开 Settings,在 Comfy → Locale 里选中文即可。本页提到的按钮名以英文界面为准,中文名基本能对上。

核心思路 ​

文生图就是「委托作画」。 官方文档的比喻很直白:你把要求(正向提示词 = 想要什么,负向提示词 = 不想要什么)告诉一位画家(生图模型),画家照着要求创作。技术上,扩散模型做的是反向扩散:从一块纯高斯噪声出发,一步步去噪,最终「显影」成符合提示词的图片。

去噪发生在潜空间(latent space),不是像素空间。 潜空间是图像的压缩表示,可以理解成建筑师的图纸:在图纸上改设计,比直接在建成的大楼上改便宜得多。所以流水线是「噪声潜空间 → KSampler 逐步去噪 → VAE 解码 → 像素图片」,模型全程在「图纸」上工作,最后一步才变成你看得见的图。

工作流 = 流水线。 画布上每个节点是一道工序,连线是数据流向。文生图工作流的骨架六道工序:

加载模型 → 编码提示词 → 造空画布 → 去噪采样 → 解码成图 → 保存

一个 checkpoint 里装着三样东西。 经典工作流用 Load Checkpoint 加载一个文件,但这个文件内部是三件套:

组件干什么
MODEL(UNet)扩散模型本体,负责预测噪声、逐步去噪出图
CLIP文本编码器,把你的提示词翻译成模型能懂的语义向量
VAE编码器/解码器,在像素空间和潜空间之间互相转换

新模型(Z-Image-Turbo、FLUX、Wan2.2……)大多不再打包成单个 checkpoint,而是把这三件拆成独立文件、用各自的 loader 分别加载——这就是两套工作流节点数不同的原因。

两套工作流对照(本页两套都会逐节点讲):

经典教学工作流(官方入门文档)内置默认工作流(v0.41.0 起)
模型SD1.5 单个 checkpointZ-Image-Turbo 三个文件
加载节点Load Checkpoint 一个UNETLoader + CLIPLoader + VAELoader 三个
画布节点Empty Latent Image(512×512)EmptySD3LatentImage(1024×1024)
采样参数20 步、cfg 8、euler / normal8 步、cfg 1、res_multistep / simple
特有节点—ModelSamplingAuraFlow(shift 调节)
其余节点CLIP Text Encode ×2、KSampler、VAE Decode、Save Image相同

v0.41.0 起服务器新增了默认工作流路由(/default_workflow),内置默认工作流随版本更新——你启动时看到的节点如果和本页有出入,多半是版本差异,不影响学。

跟我做 ​

第 1 步:启动 ComfyUI 并加载文生图工作流 ​

为什么:ComfyUI 文生图的一切都发生在画布上的工作流里,先保证画布上有一条完整的文生图工作流。

操作:启动 ComfyUI(便携包双击 run_nvidia_gpu.bat,桌面版双击图标),浏览器打开 127.0.0.1:8188。官方文档说明:ComfyUI 启动时通常会自动加载默认文生图工作流——全新安装的当前版本,加载的就是上面表格里那套 Z-Image-Turbo 工作流。

想跟着官方入门教程走经典 SD1.5 六节点工作流(本页第 3 步以它为主线逐节点讲),三种加载方式任选:

方式 A:拖入示例图(推荐) ​

ComfyUI 生成的每张图片都带工作流元数据,把图片拖进画布就能还原工作流。官方教程提供了现成示例图:text-to-image-workflow.png,下载后直接拖进 ComfyUI 窗口。

方式 B:打开工作流 JSON ​

官方文档提供了经典工作流的 JSON 文件:text-to-image.json,下载后用菜单 Workflows → Open 打开。

方式 C:从模板库加载 ​

侧栏 Workflows 面板里浏览官方模板库,一键加载各类工作流,缺模型还能自动下载——具体用法见 模板库。

你应该看到:画布上出现一排用线连着的节点,从左边的模型加载节点一直连到右边的 Save Image。

  • 画布上有一条完整的文生图工作流(六节点经典版或十节点默认版)

第 2 步:补齐模型——缺什么下什么、放对位置 ​

为什么:ComfyUI 安装包不含模型。工作流引用的模型文件不存在时,对应节点会显示红色缺失警告,直接点 Run 只会报错。

操作:看节点上的警告。官方入门文档的流程是:先看到缺模型警告 → 点开警告,看到缺哪个文件和下载链接 → 补齐。

路线 A:经典工作流(SD1.5,一个文件) ​

上节课你已经把 v1-5-pruned-emaonly-fp16.safetensors 放进了 models/checkpoints/。在画布上按 r 刷新节点定义,Load Checkpoint 的下拉列表里选中它即可。还没下载的,去 Hugging Face 官方存档页手动下载。

路线 B:默认工作流(Z-Image-Turbo,三个文件) ​

默认工作流引用三个文件,官方教程给的下载地址和存放位置:

文件放进哪个子目录下载地址
z_image_turbo_bf16.safetensorsmodels/diffusion_models/Hugging Face
qwen_3_4b.safetensorsmodels/text_encoders/Hugging Face
ae.safetensorsmodels/vae/Hugging Face

放好后按 r 刷新,三个 loader 节点的下拉列表里分别选中对应文件。哪个文件该进哪格不确定的话,回看 模型放哪里 的对照表。

自动下载怎么触发 ​

点开缺模型警告里的 Download 按钮,两种安装方式行为不同(官方文档说明):

  • Comfy Desktop:自动下载并存进 ComfyUI/models/ 对应子目录,侧栏模型面板能看进度
  • ComfyUI Portable:触发浏览器下载,下完自己把文件挪进对应子目录

⚠️ 下载不动?

自动下载从 Hugging Face 拉文件,官方文档提醒要保证网络能稳定连上 Hugging Face。长时间没进度就复制下载链接手动下载,或配置代理后重试。

你应该看到:所有红色缺失警告消失,每个 loader 节点的下拉列表里都能选中文件名(不是空的,也不显示 null)。

  • 工作流里没有红色缺失警告,loader 节点都选中了正确的模型文件

第 3 步:逐节点讲透 ComfyUI 文生图工作流 ​

为什么:这是本课的核心。看懂每个节点的职责和参数,你才算真正会「ComfyUI 怎么生成图片」,而不是人肉复读机。

先看经典 SD1.5 六节点工作流(数据从左往右流):

Load Checkpoint ──┬── MODEL ──────────────────→ KSampler ──→ VAE Decode ──→ Save Image
                  ├── CLIP ──→ CLIP Text Encode(正向)──→ KSampler
                  │        └→ CLIP Text Encode(负向)──→ KSampler
                  └── VAE ──────────────────────────→ VAE Decode
Empty Latent Image ─────────────────────────→ KSampler

Load Checkpoint:一个文件装三样东西 ​

加载生图模型。一个 checkpoint 内部含 MODEL(UNet,负责去噪)、CLIP(文本编码器)、VAE(潜空间↔像素转换)三件套,所以它有三个输出口,分别接给下游不同节点。下拉列表列出 models/checkpoints/ 里的所有文件——上节课的目录规则就体现在这里:放错子目录的文件不会出现在这个列表里。

CLIP Text Encode(×2):把提示词翻译给模型 ​

模型读不懂人话。这个节点用 Load Checkpoint 输出的 CLIP 组件,把你写的提示词编码成语义向量(官方叫「条件」,CONDITIONING)。工作流里有两个:

  • 接到 KSampler positive 输入口的:正向提示词,想要什么
  • 接到 KSampler negative 输入口的:负向提示词,不想要什么

Empty Latent Image:定一块空画布 ​

生成一块纯噪声的潜空间,输出给 KSampler 当去噪起点。它决定最终图片的尺寸——官方示例工作流里是 512×512、批次 1,正好是 SD1.5 的舒适区(它在 512×512 分辨率上训练)。想出多大的图,在这里改。

KSampler:去噪核心,全工作流的心脏 ​

整个反向扩散在这里发生:以 seed 为随机源造初始噪声,按 steps 指定的步数迭代去噪,每一步参考正向/负向两组条件,最终输出一块「干净」的潜空间。参数怎么调,第 5 步里有一张全参数表。

VAE Decode:潜空间 → 像素 ​

把 KSampler 输出的潜空间图像解码成你看得见的像素图片。用的 VAE 就是 Load Checkpoint 输出的那一路。没有这一步,屏幕上只是一堆数字。

Save Image:预览并保存 ​

显示解码后的图片,并把它存进 ComfyUI/output/ 文件夹。filename_prefix 是文件名前缀,默认 ComfyUI。右键图片可以另存到别处。


再看当前版本内置的 Z-Image-Turbo 默认工作流,逐节点对照:

节点作用默认工作流里的关键参数
UNETLoader只加载扩散模型(三件套拆开的第一件)z_image_turbo_bf16.safetensors
CLIPLoader只加载文本编码器qwen_3_4b.safetensors,类型 lumina2
VAELoader只加载 VAEae.safetensors
ModelSamplingAuraFlow给模型加噪声调度补丁,shift 控制噪声分布shift = 3
CLIP Text Encode ×2同经典工作流:正向 / 负向负向默认 low quality, bad anatomy, extra digits...
EmptySD3LatentImage同 Empty Latent Image 的角色1024×1024、批次 1
KSampler同经典工作流,参数更「Turbo」8 步、cfg 1、res_multistep / simple、denoise 1
VAEDecode同经典工作流—
SaveImage同经典工作流前缀 ComfyUI

看懂六节点经典版,这张表就是「换了加载方式 + 多一个调度补丁」,其余原样。Z-Image-Turbo 是蒸馏模型,官方教程说它 8 步就能出图、适配 16GB 显存的消费级设备,还擅长中英双语文字渲染——想深入玩它,看 Z-Image-Turbo 文生图。

你应该看到:对着画布从左到右,你能说出每个节点干什么、连线里流的是什么数据。

  • 我能说出自家画布上每个节点的职责(六节点版或十节点版)

第 4 步:写正负提示词——告诉模型画什么 ​

为什么:提示词是你和模型唯一的沟通渠道。写在哪、怎么写,直接决定出什么图。

操作:找到两个 CLIP Text Encode 节点,按连线确认哪个接 KSampler 的 positive(正向)、哪个接 negative(负向),然后填词。

官方教程给 SD1.5 的提示词五原则:

  • 尽量用英文(SD1.5 对英文理解最好)
  • 词组之间用英文逗号 , 分隔
  • 用短语,不写长句子
  • 描述要具体(「红色丝绸长裙」好过「漂亮的衣服」)
  • 想加强某个词,用权重语法 (golden hour:1.2)——括号里是关键词,冒号后是权重,官方文档明说这样能让它更容易出现在图里;masterpiece, best quality, 4k 这类质量词可以提升出图质量

官方教程的三组示例提示词,直接抄去试:

动漫风

text
正向:anime style, 1girl with long pink hair, cherry blossom background, studio ghibli aesthetic, soft lighting, intricate details, masterpiece, best quality, 4k

负向:low quality, blurry, deformed hands, extra fingers

写实人像

text
正向:(ultra realistic portrait:1.3), (elegant woman in crimson silk dress:1.2), full body, soft cinematic lighting, (golden hour:1.2), (fujifilm XT4:1.1), shallow depth of field, (skin texture details:1.3), (film grain:1.1), gentle wind flow, warm color grading, (perfect facial symmetry:1.3)

负向:(deformed, cartoon, anime, doll, plastic skin, overexposed, blurry, extra fingers)

插画风格

text
正向:fantasy elf, detailed character, glowing magic, vibrant colors, long flowing hair, elegant armor, ethereal beauty, mystical forest, magical aura, high detail, soft lighting, fantasy portrait, Artgerm style

负向:blurry, low detail, cartoonish, unrealistic anatomy, out of focus, cluttered, flat lighting

💡 中文提示词写在哪?

SD1.5 时代请写英文。走 Z-Image-Turbo 默认工作流的话,官方说明它支持中英文提示词、还能把图里的中英文字渲染准——中文需求直接写就行。

你应该看到:两个 CLIP Text Encode 的文本框里分别填好了正向、负向提示词。

  • 正负提示词已填好,且确认没填反(看连线指向 KSampler 的哪个口)

第 5 步:点 Run 生成你的第一张图 ​

为什么:前面全是准备,这一步才真正「生成」——ComfyUI 把整条流水线入队执行。

操作:

  1. 检查一遍:loader 选中了模型、提示词填好、尺寸没问题
  2. 点画布上方的 Run 按钮,或按快捷键 Ctrl + Enter
  3. 等待执行:Run bar 会显示队列里的任务情况(active jobs 计数),需要中止就点旁边的 Cancel
  4. 出图后,在 Save Image 节点里看结果;右键图片可以保存到本地(文件同时已存进 ComfyUI/output/)

你应该看到:Run bar 的任务计数动起来,执行完成后 Save Image 节点里出现你的第一张图。

💡 不满意就再跑

官方教程的原话:不满意就多跑几次。示例工作流的 seed 控制是 randomize,每次执行 KSampler 都会换一个随机种子,出的图各不相同。

点 Run 之前,值得花两分钟认识 KSampler 的每个参数(官方教程全参数表,两套工作流通用):

参数作用怎么理解
model接哪个扩散模型决定画风和质量的根本
positive正向条件引导生成你想要的元素
negative负向条件抑制你不想要的内容
latent_image待去噪的潜空间噪声初始化的载体(尺寸在这里定)
seed随机种子控制随机性;同 seed 同参数 = 复现同一张图
control_after_generate生成后的种子策略randomize 每次换、fixed 固定不动
steps去噪步数步数越多细节越足,也越慢
cfg提示词引导强度越高越听话,官方提醒过高会过拟合
sampler_name采样算法去噪路径的数学方法(euler、res_multistep……)
scheduler调度器控制噪声衰减节奏和步长分配(normal、simple……)
denoise去噪强度0.0 保留原始输入,1.0 从纯噪声全量去噪

第一次跑,什么都别改,先用默认参数出一张图。之后可以自己实验:改提示词再跑、把 steps 从 20 调到 30 对比细节、把 seed 固定住只改提示词看因果。Z-Image-Turbo 工作流的 8 步 + cfg 1 是蒸馏模型的推荐配置,别照搬 SD1.5 的 20 步 + cfg 8 去改它。

  • 我的 Save Image 节点里出现了第一张图,并保存到了本地

检查点 ✅ ​

  • 我跑通了第一次 ComfyUI 文生图:加载工作流 → 补模型 → 写提示词 → Run → 保存
  • 我能对着画布说出每个节点的职责,包括 Load Checkpoint 里的 MODEL / CLIP / VAE 三件套各干什么
  • 我知道正向提示词接 KSampler 的 positive、负向接 negative,会用 (关键词:1.2) 加权重
  • 我知道 steps / cfg / denoise / seed 各管什么,改参数前能预判效果
  • 我知道当前版本内置默认工作流(Z-Image-Turbo)和官方教程经典工作流(SD1.5)的区别

踩坑提醒 ​

❌ Load Checkpoint 显示 null 或下拉列表是空的 ​

官方排错顺序:确认模型在正确的子目录(checkpoint 在 models/checkpoints/)→ 画布上按 r 刷新 → 重启 ComfyUI。还不行就是文件本身的问题,看 模型加载失败。目录规则不熟的话回 模型放哪里。

❌ 节点上一堆红色警告,不出图 ​

红色 = 缺模型或节点参数无效,不补齐就没法正常出图。按第 2 步的流程点开警告看缺什么文件,补齐后警告自动消失。缺的模型国内下载不动,配代理或手动下载后放进对应子目录。

❌ 我的界面和教程截图完全不一样 ​

大概率不是你错了:官方入门教程的截图是经典 SD1.5 工作流,而 v0.41.0 起 ComfyUI 内置的默认工作流换成了 Z-Image-Turbo,节点数量和名字都不一样。对照本页第 3 步的两套节点表确认你加载的是哪套;想加载特定工作流,用拖图、打开 JSON 或模板库三种方式之一。

❌ 出图糊、手崩,狂点 Run 碰运气 ​

SD1.5 的官方已知短板:手部和复杂光影容易崩、直接生成 1024×1024 质量会下降(它在 512×512 上训练)。与其连点 Run,不如固定 seed、调整提示词(负向加 deformed hands, extra fingers)、必要时用放大工作流二次处理——放大玩法见 商品图高清放大。

进阶技巧(可选) ​

🔧 Run bar 不止一个 Run 按钮:顶部悬浮 Run bar 上还有批次(batch count,一次入队跑几遍,默认 1)、队列模式(Run 只在点击时入队;Run (On Change) 工作流一变就自动再跑;Run (Instant) 当前任务一结束立刻再跑)、Cancel(取消当前任务)。按住 Shift 点 Run 可以把任务插到队首。

🔧 图片就是工作流的存档:ComfyUI 生成的图片自带工作流元数据,把任何一张自己生成的图拖回画布,就能还原当时的工作流和参数。想主动导出,用菜单 Workflows → Export 存成 JSON 文件。

🔧 一次出多张对比:把 batch count 调大,或把 Empty Latent Image 的 batch 参数改大,一次 Run 出多张图挑最好的。

🔧 快捷键不止 Ctrl+Enter:r 刷新节点定义、Ctrl+O 打开工作流,完整键位表看 快捷键与界面速查。

本课小结 ​

✅ ComfyUI 文生图的骨架:加载模型 → 编码提示词 → 造空画布 → KSampler 去噪 → VAE 解码 → 保存。所有文生图工作流都是这个骨架的变体。

✅ 一个 checkpoint 三件套:MODEL(UNet)管去噪、CLIP 管理解提示词、VAE 管潜空间和像素互转;新模型把三件拆开分别加载。

✅ 两套工作流都认识:官方教程的经典 SD1.5 六节点(20 步 / cfg 8 / 512×512),v0.41.0 起内置的 Z-Image-Turbo 默认工作流(8 步 / cfg 1 / 1024×1024,三个文件分开装)。

✅ 提示词会写了:正向接 positive、负向接 negative;英文短语逗号分隔;(关键词:1.2) 权重语法加强关键词。

✅ ComfyUI 怎么生成图片:Run 或 Ctrl + Enter 入队,结果在 Save Image 节点,右键保存,文件落在 ComfyUI/output/。

关键参数回顾(第一次跑建议保持默认):

参数经典 SD1.5 工作流Z-Image-Turbo 默认工作流说明
steps208蒸馏模型步数少是特性,不是偷懒
cfg81Turbo 类模型 cfg 就是 1
sampler / schedulereuler / normalres_multistep / simple跟着工作流走
denoise1.01.0文生图从纯噪声开始,固定 1.0
seedrandomizefixed想复现就固定,想抽卡就随机
尺寸512×5121024×1024SD1.5 别直接拉到 1024

下一课预告 ​

第一次生图只是热身。ComfyUI 真正的玩法是「选对模型再开工」:不同模型擅长完全不同的任务。下一课 模型×任务总览 带你把整个模型库逛一遍。

你会学到:

  • Z-Image-Turbo、Qwen-Image、FLUX、Wan2.2、LTX 各自擅长什么、要多少显存
  • 同一个任务(文生图 / 修图 / 生视频)该选哪个模型的工作流
  • 从官方模板库一键加载对应工作流的方法
  • 电商图、视频这些实战场景分别用哪条路线
搞懂AI关于我们怎么写隐私说明

独立的第三方教程,与文中提到的任何产品及其公司没有隶属或合作关系;产品名称和商标归各自所有者。价格和政策以官方页面为准。