标签 CLIP Text Encode 下的文章

上个帖子已经分享了如何在润云进入ComfyUI界面。

下面我来具体分享ComfyUI的使用方法

一、文生图

界面上的节点和整个画布都可以拖动,也可以放大缩小。

ComfyUI 为我们提供了一个默认的文生图工作流。直接点击右边的 Queue Prompt 就能够触发生图流程,你可以看到有个绿色的边框会随着流程的进展在不同的节点上显示。

整个工作流由两个基本的部分组成:节点(Nodes)和边(Edges)。

• 每一个矩形块就是一个节点,比如 Load Checkpoint CLIP Text Encoder 等。可以把每个节点看成是函数,它们都具有输入、输出和参数三个属性。

• 连接每个节点的输入和输出的线就是边。

其他还有很多的细节和概念,我将会在接下来的内容中逐步解释。

我们直接从这个默认工作流开始,它包含了下面这些步骤。

1.1 选择模型

首先需要在 Load Checkpoint 这个节点中选择一个模型,这里的模型选项就是在上文中下载的那些模型文件。比如我这里就放置了多个可选的模型,我可以根据自己的需求选择我想要使用的模型。

1.2 构造提示词

选择完模型,下一步就是构造提示语了。

在界面上,有两个 CLIP Text Encode (Prompt) 节点,这两个节点都是用来构造我们的提示语的。

其中,上面一个节点用来输入正向提示语(Positive Prompt),即告诉模型做什么,而下面一个节点则用来输入负面提示语(Negative Prompt),即告诉模型不要做什么。

如果觉得容易混淆,可以像我这样直接双击节点名称改成它对应的功能的名称,就像下面这样。

下面的节点也可以看出哪个是正向哪个是负向

CLIP Text Encode 节点的作用是将提示语转换为标记,然后通过文本编码器将它们处理为嵌入(Embeddings)。

你可以使用 (关键词:权重) 的这样的语法来控制关键词的权重。

比如,使用 (keyword:1.4) 来增强效果,或 (keyword:0.9) 来减弱效果。

1.3 生成图像

点击下方的 Run,等待一会儿就能够看到有一张图像生成完成了。

二、ComfyUI 的工作机制

ComfyUI 的强大之处就在于它的高度可配置性。熟悉每个节点的功能之后可以让我们轻易地根据需求来定制化操作。

在介绍图生图工作流之前,我需要先向你详细介绍一下 ComfyUI 的工作机制。

Stable Diffusion 的生图过程可以总结为以下三个主要步骤:

  • 文本编码:用户输入的提示语通过一个称为文本编码器(Text Encoder) 的组件编译成各个单词的特征向量。这一步将文本转换为模型可以理解和处理的格式;
  • 潜在空间(Latent space)转换:来自文本编码器的特征向量与一个随机噪声图像一起被转换到潜在空间。在这个空间中,随机图像根据特征向量进行去噪处理,得到一个中间产物。这一步生图过程的是关键所在,因为模型会在这里学习将文本特征与视觉表现相联系。
  • 图像解码:最后,潜在空间中的中间产物由图像解码器(Image Decoder) 进行解码,转换为我们可以看到的实际图像。

了解了 Stable Diffusion 层面的生图流程之后,接下来我们深入了解一下 ComfyUI 在实现这个过程中的关键组件和节点。

2.1 Load Checkpoint 节点

Load Checkpoint 节点会加载一个模型,一个 Stable Diffusion 模型主要包含以下三个部分:

  • MODEL

MODEL 组件是一个在潜在空间(Latent Space)中运行的噪声预测模型。

这句话的意思是 Stable Diffusion 模型在潜在空间中对图像的生成过程进行建模,并通过预测和去除噪声逐渐还原图像的过程。

具体来说就是,在 Stable Diffusion 中,图像生成首先在潜在空间中引入随机噪声,然后模型通过一系列步骤逐渐去除这些噪声,生成符合提示语的图像。

这种逐步去噪的过程由噪声预测模型来完成。潜在空间是图像的一个简化、高度抽象化的表示,可以降低模型的计算复杂度,可以让模型在生成图像时更高效。

在 ComfyUI 中,Load Checkpoint 节点的 MODEL 输出连接到 KSampler 节点,KSampler 节点执行反向扩散过程。

KSampler 节点利用 MODEL 在潜在表示中进行迭代去噪,逐步优化图像,直到它符合给定的提示语。

  • CLIP (Contrastive Language-Image Pre-training)

CLIP 其实是一个负责预处理用户提供的正向和负面提示语的语言模型。它将文本提示转换为 MODEL 可以理解的格式,指导图像生成过程。

在 ComfyUI 中,Load Checkpoint 节点的 CLIP 输出连接到 CLIP Text Encode 节点。CLIP Text Encode 节点获取用户提供的提示语,并将它们输入到 CLIP 语言模型中,转换为向量嵌入。

这些向量嵌入可以捕捉单词的语义,为 MODEL 生成符合提示语的图像提供更多的指导。

  • VAE (Variational AutoEncoder)

它包含一个编码器和一个解码器,其中,编码器用于将图像压缩为低维的潜在表示,而解码器用于从潜在表示中重建图像。

在文生图的过程中,VAE 仅在最后一步使用,它的作用就是将生成的图像从潜在空间转换回像素空间。

ComfyUI 中的 VAE Decode 节点获取 KSampler 节点的输出,并利用 VAE 的解码器部分将潜在表示转换为最终的像素空间图像。

VAE 与 CLIP 语言模型是独立的组件。CLIP 主要处理文本提示语,而 VAE 负责在像素空间和潜在空间之间进行转换。

2.2 CLIP Text Encode 节点

在上文中有提到,在 CLIP Text Encode 节点中我们可以输入生成图像的提示语,而这个节点的作用就是获取我们提供的提示语,并将其输入到 CLIP 语言模型中。

CLIP 是一个强大的语言模型,能够理解单词的语义并将其与视觉概念相关联。当提示语输入到 CLIP Text Encode 节点后,它会将每个单词转换为向量嵌入。向量嵌入是高维的数字表示,包含了单词的语义信息,模型能够根据这些信息生成符合提示语的图像。

2.3 Empty Latent Image 节点

在 ComfyUI 的文生图的过程中,它首先会在潜在空间中生成一个随机图像,这个图像会作为模型处理的初始状态,它的大小与实际像素空间中的图像尺寸成比例。

在 ComfyUI 中,我们可以调整潜在图像的高度和宽度来控制生成图像的大小。此外,我们还可以设置批处理大小来确定每次运行生成的图像数量(batch_size)。

潜在图像的最佳尺寸取决于所使用的 Stable Diffusion 模型版本。

对于 v1.5 模型,推荐的尺寸是 512x512 或 768x768;对于 SDXL 模型,最佳尺寸是 1024x1024。ComfyUI 提供了多种常见的宽高比可供选择,但是需要注意的是,潜在图像的宽度和高度必须是 8 的倍数,这样才能确保与模型架构的兼容性。

2.4 VAE 节点

在界面中我们能看到 Load Checkpoint 节点的 VAE 属性就直接连接到了 VAE 节点。所以,这里的 VAE 节点其实就是上文中所提到的负责在像素空间和潜在空间之间转换图像的 VAE。

2.5 KSampler 节点

在 ComfyUI 中,生图过程的核心节点就是 KSampler 节点。它负责在潜在空间中对随机图像进行去噪,让生成的图像符合我们提供的提示语。KSampler 使用的是一种称为反向扩散的技术,可以迭代地去除噪声,并根据 CLIP 向量嵌入添加有意义的细节。

KSampler 节点提供了多个参数,让我们可以微调图像的生成过程:

  • Seed

    Seed 值控制了初始噪声和最终图像的构图。设置特定的 Seed 值,我们可以获得可重复的结果,可以保持多次生成的一致性。

  • Control_after_generate

    这个参数决定了每次生成后 Seed 值的变化方式,可以设置为随机化(每次运行生成新的随机 Seed)、递增、递减或者固定不变。

  • Step

    采样步数决定了优化过程的强度。如果设置步数较大,则会产生更少的伪影和更精细的图像,但也会增加生成时间。

  • Sampler_name

    这个参数用于选择 KSampler 所使用的特定采样算法。不同的采样算法可能会产生略有不同的结果,且生成速度也会有所不同。

  • Scheduler

    这个参数用于控制在去噪过程中的每一步中噪声水平的变化速率,它决定了从潜在表示中去除噪声的速度。

  • Denoise

    这个参数用于设置去噪过程应消除的初始噪声量。值为 1 表示去除所有噪声,从而生成干净且细节丰富的图像。

通过调整这些参数,我们可以微调图像的生成过程,从而获得理想的图像。

至此,我花了大量篇幅向你介绍了 ComfyUI 中的所有节点以及其对应的功能,希望到目前为止能够帮助你对 ComfyUI 有一个较为全面的认知和理解。

后续我会使用图生图、图片扩展等流程的教学。点点关注,之后会持续更新哦~~~

从零开始使用ComfyUI:镜像部署与工作流操作全指南

本文基于实际Linux云实例操作场景,详细讲解从ComfyUI镜像环境到成功进入工作流的完整流程,涵盖环境排查、服务启动、访问验证等核心步骤,适配润云平台ComfyUI镜像及类似环境。

一、什么是comfyui

ComfyUI就像拥有一支神奇魔杖,可以轻松创造出令人惊叹的AI生成艺术。从本质上讲,ComfyUI是构建在Stable Diffusion之上的基于节点的图形用户界面(GUI),而Stable Diffusion是一种最先进的深度学习模型,可以根据文本描述生成图像。 但ComfyUI真正特别之处在于,它如何让像你这样的艺术家释放创造力,将你最疯狂的想法变为现实。

想象一下有一块数字画布,你可以通过连接不同的节点来构建自己独特的图像生成工作流,每个节点代表一个特定的功能或操作。 就像为你的AI生成杰作构建一个视觉食谱!

二、ComfyUI的准备

2.1 前置准备

进入润云平台,创建实例时选择ComfyUI镜像

创建实例成功之后,进入刚创建的实例Jupyter页面,并打开终端

2.2 确认ComfyUI安装路径

首先定位ComfyUI核心启动文件main.py,执行以下命令全局查找:


find / -name "main.py" 2>/dev/null | grep -i comfy

示例输出(本文实操路径):


/home/ComfyUI/main.py

若输出为空(镜像未预装ComfyUI),手动安装:


cd /root/workspace
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip install -r requirements.txt

2.3 查看实例公网IP

访问ComfyUI需实例公网IP,执行命令快速获取:


curl ifconfig.me

示例输出(本文实操IP):


221.5.60.2

2.4 检查端口占用

ComfyUI默认端口为8188,本文实操使用8888/8889端口,先检查端口是否被占用:


# 检查8888端口
netstat -tuln | grep 8888
# 检查8889端口
netstat -tuln | grep 8889

若输出包含LISTEN,说明端口被占用,需更换端口。

三、启动ComfyUI服务

3.1 基础启动命令(前台运行)

进入ComfyUI主目录,启动服务并指定外网访问权限及端口:


# 进入ComfyUI目录(根据实际路径调整)
cd /home/ComfyUI
# 启动服务(使用8889端口,避开占用)
python main.py --listen 0.0.0.0 --port 8889

启动成功标志:终端最后输出以下内容,说明服务已正常运行:


Starting server
To see the GUI go to: http://0.0.0.0:8889

3.2 后台运行(推荐)

避免关闭终端导致服务停止,使用nohup命令后台启动,同时记录日志:


cd /home/ComfyUI
nohup python main.py --listen 0.0.0.0 --port 8889 > /root/workspace/comfyui.log 2>&1 
  • 日志查看tail -f /root/workspace/comfyui.log 实时监控启动状态
  • 停止服务

      `# 查找ComfyUI进程ID

    ps aux | grep comfy

    3.3 常见启动报错解决

报错类型解决命令
python: command not foundapt update && apt install -y python3 python3-pip && ln -s /usr/bin/python3 /usr/bin/python
No module named xxx(缺少依赖)cd /home/ComfyUI && pip install -r requirements.txt
address already in use(端口占用)更换端口(如8889)重新启动服务
xformers依赖报错(TypeError: JITCallable._set_src()pip uninstall -y xformers && pip install xformers==0.0.27.post2 --force-reinstall

四、访问ComfyUI工作流界面

进入实例详情页增加上面的开启的端口,复制访问地址至浏览器即可看到ComfyUI可视化工作流编辑界面(左侧为节点面板,中间为画布,右侧为控制栏)。

五、首次使用工作流

5.1 加载内置工作流

  1. 进入界面后,点击左上角 LoadLoad WorkflowFrom Examples
  2. 选择 basic_text_to_image.json(基础文生图工作流),画布将自动加载预设节点;
  3. Checkpoint Loader 节点下拉选择模型(如SD 1.5,需提前放入模型文件至/home/ComfyUI/models/Stable-diffusion目录);
  4. CLIP Text Encode 节点输入正向提示词(如“a cute cat, 4k, detailed”)和反向提示词(如“low quality, blurry”);
  5. 点击右上角 Queue Prompt 运行工作流,生成的图片将在 Preview Image 节点实时显示。

5.2 保存与复用工作流

工作流调试完成后,点击顶部 SaveSave Workflow,将工作流保存为JSON文件,后续可通过 Load Workflow → From File 上传复用。

5.3 核心界面与节点详解

ComfyUI界面分为三大区域,掌握各区域功能是灵活使用的基础:

  • 左侧节点面板:按功能分类存放所有节点,可通过顶部搜索框快速查找(如输入“Lora”定位Lora加载节点)。核心分类包括:
    模型加载类(Checkpoint Loader、Lora Loader、VAE Loader):用于加载基础模型、微调模型及解码模型;
  • 提示词处理类(CLIP Text Encode、CLIP Text Encode (Advanced)):用于解析正向/反向提示词,控制生成内容;
  • 采样生成类(KSampler、EulerSampler):核心生成节点,控制采样步数、CFG值、生成尺寸等关键参数;
  • 后处理类(Preview Image、Save Image):用于预览生成结果及保存图片到本地。

中间画布区域:工作流编辑核心区,可拖拽节点、连接端口、调整节点位置。操作技巧:

连接节点:点击一个节点的输出端口(右侧小圆点),拖拽到目标节点的输入端口(左侧小圆点),松开即可建立连接;

删除节点:选中节点后按Delete键,或右键节点选择Remove

清空画布:右键画布空白处,选择Clear Workflow

右侧控制栏:包含工作流队列、历史记录、设置等功能。队列面板可查看当前生成任务进度,历史记录可回溯之前的生成结果及对应工作流配置。

5.4 自定义工作流搭建(以图生图为例)

除了加载内置工作流,也可手动搭建自定义流程,以图生图为例,步骤如下:

  1. 加载基础模型:从节点面板拖拽Checkpoint Loader到画布,选择SD 1.5或SDXL模型,同时拖拽VAE Loader加载对应VAE模型(优化图像质量);
  2. 导入参考图:拖拽Load Image节点,点击节点上的Upload按钮上传本地图片,作为生成参考;
  3. 图片预处理:拖拽Image Scale节点,连接Load Image的输出端口,设置目标生成尺寸(如512×512),勾选cropresize调整图片适配尺寸;
  4. 提示词配置:拖拽两个CLIP Text Encode节点,分别输入正向提示词(如“a beautiful landscape, oil painting style”)和反向提示词(如“ugly, distorted, low resolution”);
  5. 采样生成:拖拽KSampler节点,依次连接以下端口:
    model端口:连接Checkpoint Loader的model输出;
  6. positive端口:连接正向提示词节点的输出;
  7. negative端口:连接反向提示词节点的输出;
  8. latent_image端口:连接Image Scale的输出(需先拖拽VAEDecode节点转换图像格式);
  9. 结果预览与保存:拖拽Preview ImageSave Image节点,均连接KSampler的输出端口,设置保存路径(默认保存在/home/ComfyUI/output);
  10. 运行工作流:点击右上角Queue Prompt,等待生成完成,在Preview Image节点查看结果。

5.5 常用功能拓展(插件与模型管理)

ComfyUI支持通过插件拓展功能,核心拓展方式如下:

5.5.1 插件安装(以ComfyUI-Manager为例)

ComfyUI-Manager已预装在当前镜像中,可通过它快速安装插件:

  1. 进入ComfyUI界面,点击左侧节点面板顶部的ComfyUI-Manager按钮;
  2. 在弹出的窗口中选择Install Custom Nodes,搜索需要的插件(如“ControlNet”“UltimateSDUpscale”);
  3. 点击插件右侧的Install,安装完成后重启ComfyUI服务,插件节点将自动显示在左侧面板。
5.5.2 模型管理与加载

不同类型的模型需放在对应目录,否则无法加载:

模型类型存放目录加载节点
基础模型(.ckpt/.safetensors)/home/ComfyUI/models/Stable-diffusionCheckpoint Loader
Lora模型(.safetensors)/home/ComfyUI/models/LoraLora Loader
ControlNet模型(.pth)/home/ComfyUI/models/ControlNetControlNet Loader
VAE模型(.ckpt/.safetensors)/home/ComfyUI/models/VAEVAE Loader
模型上传方式:通过云实例文件管理工具,将本地模型上传至对应目录,重启ComfyUI后即可在节点中选择加载。

六、关键注意事项

  1. 核心路径:本文实操中ComfyUI主目录为/home/ComfyUI,启动文件为main.py,实际路径需根据查找结果调整;
  2. 端口选择:优先使用未被占用的端口,避免与Jupyter、Nginx等服务冲突;
  3. 报错处理depthanythingv2nodes_audio.py等扩展节点报错仅影响小众功能,文生图、图生图、ControlNet等核心工作流不受影响,可后续按需修复;
  4. 后台运行:生产环境建议使用nohup后台启动,同时定期清理日志文件,避免占用过多存储空间。

七、常见问题排查

问题现象排查方向
浏览器无法访问界面1. 公网IP是否正确;2. 端口是否放行;3. ComfyUI服务是否正常运行;4. 实例是否处于运行状态
启动后无界面提示1. 启动命令是否包含--listen 0.0.0.0(允许外网访问);2. 端口是否被占用;3. 查看日志定位报错原因
运行工作流生成图片失败1. 模型文件是否存在且路径正确;2. GPU显存是否充足(建议RTX 3060及以上);3. 节点连接是否完整;4. 提示词是否合规