ComfyUI 文生图基础工作流搭建教程
很多新手第一次打开ComfyUI,面对空白的画布都会愣一下——到底该从哪里开始?一个比较稳妥的办法是,别急着凭记忆手工连线,先把它内置的官方文生图基础工作流加载出来。然后逐个核对模型、提示词、画布、采样、解码和保存这几个环节。完成后,画布上会保留一条完整的、可继续修改的SD1.5文生图链路。直接点击运行,就能在Media Assets和Sa ve Image节点看到你生成的第一张图了。
这篇文章适合已经能正常启动ComfyUI,并且准备用SD1.5的checkpoint跑第一次文生图的朋友——无论你用的是Windows、macOS还是Linux。开始之前,至少需要准备一个兼容的checkpoint文件,放到ComfyUI/models/checkpoints目录下。官方示例用的是v1-5-pruned-emaonly-fp16.safetensors,你用其他名字也没问题,但节点里绝对不能停在null。
完成后,界面大概长这样:左侧Media Assets里能看到生成结果,右侧画布上仍然是可编辑的节点工作流,顶部的Run按钮随时可以再跑一次。

先让 ComfyUI 识别模型文件
入口位置:
ComfyUI安装目录下的
models/checkpoints文件夹。把准备好的SD1.5 checkpoint文件放进去,然后重新启动ComfyUI,或者刷新模型列表。主要动作:
稍后打开Load Checkpoint节点时,成功标志:
ckpt_name下拉列表里能显示你放进去的文件名。如果列表是空的,或者只显示失败处理:
null,先检查一下文件是不是放错了位置——别放到了models根目录,也要确认扩展名完整,以及当前启动的ComfyUI是不是对应同一个安装目录。
加载官方基础工作流
入口位置:
ComfyUI官方的
教程页。ComfyUI Text to Image Workflow
把页面提供的那个工作流PNG保存下来,然后直接拖进ComfyUI画布;也可以从顶部的主要动作:
菜单选择Workflows
,再打开这个PNG文件。Open
画布上会出现Load Checkpoint、两个CLIP Text Encode、Empty Latent Image、KSampler、VAE Decode和Sa ve Image节点,而且彩色连线已经自动连好了。成功标志:
如果拖进去之后只显示成普通图片,没有节点,那你保存的PNG可能不是带工作流元数据的原始文件——网页截图、压缩缩略图、或者转换过的JPG都不行。失败处理:
下面这张图把基础链路标成了A到F:模型和文本条件送到KSampler,采样结果交给VAE Decode,像素图最后交给Sa ve Image。现在先确认节点齐全就行,不用急着改参数。

按节点顺序完成第一次配置
入口位置:
画布左侧的
节点。Load Checkpoint
点击主要动作:
ckpt_name文本区或者两侧箭头,选择你刚放进去的那个SD1.5 checkpoint。节点上会显示实际的模型文件名,并且保留成功标志:
、MODEL
、CLIP
三个输出连接。VAE
如果文件名不出现,回模型目录看看路径有没有弄错;选中后节点报错,那就确认一下文件下载完整——别只有几KB的网页占位文件。失败处理:
Load Checkpoint的关键不是记住示例文件名,而是确认下拉框已经从null变成了你电脑上真实存在的checkpoint。

入口位置:
两个
节点的文本框。CLIP Text Encode (Prompt)
在连接KSampler主要动作:
的那个节点里,写你想要的主体、环境和画面特征;在连接positive
的节点里,写你不希望出现的缺陷。negative
两个节点都有可读的文本,橙色成功标志:
输出分别接到KSampler的正向和负向端口。CONDITIONING
如果生成结果和描述关系很弱,先用简短英文词组加英文逗号重写,别一次塞入多段长句;如果正负条件接反了,重新连到对应端口。失败处理:
提示词节点只负责把文字编码成条件。看不到图片并不代表失败,当前步骤的验收标准是:文本已填写,CONDITIONING连线正确。

入口位置:
节点。Empty Latent Image
设置主要动作:
width、height和batch_size;第一次运行可以先保留官方示例中的512×512、批次1。宽高是明确数字,紫色成功标志:
输出连接到KSampler的LATENT
。latent_image
显存不足或者运行被中断?先降低宽高,保持批次1。画面比例不合适,就只调整宽高,别同时改动采样参数,这样容易判断问题来源。失败处理:
Empty Latent Image定义的是潜空间里的画布,最终像素图的尺寸从这里开始确定。

入口位置:
画布中央的
节点。KSampler
先保留基础参数,重点检查主要动作:
、model
、positive
、negative
这四个输入是否都已经连线,并确认latent_image
steps、cfg、sampler_name、scheduler和denoise都有值。节点没有缺少输入的红色提示,右侧成功标志:
输出已连接VAE Decode。LATENT
出现缺少模型或条件输入的提示,沿着端口颜色回查上游节点;结果异常时,一次只改一个参数,别同时改变seed、steps和cfg,否则很难定位原因。失败处理:
KSampler是去噪采样的核心。第一次运行,先把链路弄对,等结果稳定了再比较seed、steps或采样器的差异。

入口位置:
KSampler右侧的
节点。VAE Decode
确认KSampler的主要动作:
输出接入了LATENT
,Load Checkpoint的samples
输出接入了VAE
。vae
VAE Decode右侧蓝色成功标志:
输出已连接Sa ve Image。IMAGE
运行到解码阶段报错,先检查两条输入线是否缺失或接错颜色,再确认checkpoint本身是否包含可用的VAE。失败处理:
VAE Decode负责把KSampler产生的潜空间结果还原成可以预览和保存的像素图像。

入口位置:
工作流末端的
节点。Sa ve Image
确认蓝色主要动作:
输入已连接,并给images
filename_prefix填一个容易辨认的前缀。节点能接收VAE Decode的IMAGE输出,运行后会预览结果,并把文件写入成功标志:
ComfyUI/output。节点没有预览,先检查上游IMAGE连线;运行成功但找不到文件,检查当前ComfyUI实例对应的失败处理:
output目录和文件名前缀。
Sa ve Image的输入只有图像数据,文件名前缀用来在输出目录里区分不同测试。

执行工作流并判断结果
入口位置:
ComfyUI顶部的
或Queue
按钮。Run
点击按钮执行一次,也可以按主要动作:
。Ctrl + Enter
节点依次执行,Sa ve Image出现预览,Media Assets里新增了生成图,成功标志:
ComfyUI/output中能找到对应文件。执行立即停止,从标红的节点开始排查模型、连线和参数;运行很慢但没有报错,先等当前队列完成,别连续重复点击,不然任务会堆积。失败处理:
入口位置:
生成结果和KSampler的
seed设置。确认第一张图可以保存后,再重新执行一次,观察随机种子变化带来的结果差异。主要动作:
第二次生成仍然能完成,工作流结构没有丢失,结果图和上一张之间存在可解释的变化。成功标志:
想复现同一张图,固定seed,并保持提示词、尺寸和采样参数不变;对比参数时,一次只改一项。失败处理:
用九项结果确认基础链路已经搭好
- checkpoint文件位于当前ComfyUI实例的
models/checkpoints目录。 - 官方工作流PNG已加载成节点,而不是作为普通图片显示。
- Load Checkpoint显示真实模型文件名,没有停在
null。 - 正向和负向提示词分别连接KSampler的positive与negative。
- Empty Latent Image有明确宽高,首次测试保持可承受的尺寸和批次。
- KSampler的四个输入齐全,采样参数都有有效值。
- VAE Decode同时接收samples与vae,并输出IMAGE。
- Sa ve Image已连接,运行后能在Media Assets和
ComfyUI/output找到结果。 - 失败时能从标红节点、缺失连线、模型目录、显存和输出路径逐层回查。
基础链路稳定之后,再尝试更换提示词、画布比例或采样参数。先保留一份能重复运行的工作流,只改一个变量并观察结果,后续学习LoRA、ControlNet或更复杂的节点时,排查问题会容易得多。