day28-文生图

comfyui文生图原理+实操

1.comfyui的文生图架构

comfyui的文生图架构如图所示:

image-20260114143451274
条件空间:文本等条件输入,告诉comfyui我们需要什么内容

潜空间:图片进行迭代(逐步)去噪的过程。该空间是用来生产符合条件空间要求的图片。

像素空间:将去噪结果还原为图片。也就是将潜空间去噪后的图片还原为我们可见的图片。

其中潜空间部分相对比较难理解,接下来通过下图深入理解潜空间工作原理:

首先随机初始化一张无意义的噪点图,然后可以提出一个生图的条件,潜空间会根据【条件空间】中的每一个条件逐步对噪点图进行迭代去噪。每一步迭代去噪我们会发现生成的图像就越来越具象和清晰了。

image-20260114144416978

经过潜空间的迭代去噪,最终需要通过像素空间将降噪后的结果还原为可识别的图像。

在comfyui中对应的条件空间、潜空间和像素空间对应的节点如下:

image-20260114145338637

通俗理解:就像用文字描述让画家作画:

  • 条件空间处理:你把“一只戴帽子的猫在星空下”告诉画家(文本编码),并选择画家的风格(模型加载)
  • 潜空间生成:画家先用铅笔打草稿(噪声初始化),然后逐步细化(迭代降噪)
  • 像素空间转换:最后上色完成画作(解码输出)
模块/阶段 功能与原理说明 对应节点/组件
1. 条件空间处理
文本编码 通过CLIP 文本编码器将文本提示词转化为语义向量(将人类语言转换为AI能理解的“数学语言”),建立文本与图像的关联性。
正向提示词:告诉AI“要画什么”
负向提示词:告诉AI“不要画什么”
CLIP 文本编码器(正向/负向)
大模型加载 加载相关模型 Checkpoint加载器
2. 潜空间生成
噪声初始化 生成指定尺寸的随机高斯噪声矩阵,作为生图的起点。
简单理解:创建一张“完全随机”的初始画布
空Latent
迭代降噪(核心) 通过扩散模型(UNet)结合文本条件在潜空间逐步去除噪声。
扩散模型原理
前向过程(训练时):给清晰图片逐步加噪声,直到完全随机
反向过程(生成时):从随机噪声开始,逐步“猜测并移除”噪声
K采样器
3. 像素空间转换
潜空间解码 将降噪后的潜空间特征矩阵还原为高清像素图像 VAE 解码
图像输出 保存或预览最终生成的图像 保存图像

2.文生图实操

使用阿里云的cloudstudio部署的Comfyui

  • 添加【条件空间】相关节点

    • Checkpoint加载器
    • CLIP 文本编码器
    image-20260114153009292
    • 选择模型:

      image-20260114172510954

  • 添加【潜空间】相关节点

    • K采样器
    • 空Latent

    image-20260114153321259

  • 添加【像素空间】相关节点

    • VAE 解码
    • 图像保存

    image-20260114153736492

    最后注意,将所有连线串联完整!

3.模型相关

文生图大模型综合对比表

image-20260114150433996

3.1常用大模型

  • 写实模型:

    • realisticVisionV51
  • 3d大模型:

    • dreamshaper_8
  • 卡通大模型:

    • meinamix
    • GhostMix鬼混_V2.0

下载链接: https://pan.baidu.com/s/19Len6XHX4L15MApaJq8Y2A?pwd=j9kz 提取码: j9kz

4.深度进阶

4.1 Checkpoint 节点深度介绍

Checkpoint节点是 ComfyUI 为新手友好设计的整合式模型加载器,其本质是把UNet加载器+加载CLIP+加载VAE三个节点的功能合并,通过读取一个整合权重文件,自动拆分并加载 UNet(图像生成核心)、CLIP(文本编码)、VAE(Latent 解码)的权重,无需用户手动分拆配置,大幅降低操作门槛。

image-20260419110043283

4.2 UNet 加载器 + 加载 CLIP + 加载 VAE 的功能与理解

这三个节点是 ComfyUI 中进阶版的模型组件分拆加载模块,对应文生图模型的三大核心部件,把Checkpoint加载器(简易)的整合功能拆分成独立节点,实现对每个组件的精细化配置,可理解为 “把一台整机拆成 CPU、显卡、内存,分别调试升级”。

一、UNet 加载器

  • 核心功能

    • 加载调用文生图模型,负责在潜在空间(Latent)中根据 CLIP 传递的文本特征,对空白 Latent 进行迭代优化,逐步生成包含图像细节的特征张量。
  • 通俗理解

    • 相当于绘画时的 “主笔画师”,根据文案要求(CLIP 的文本特征),在画布(空 Latent)上勾勒出图像的核心轮廓与细节,决定图像生成的主体逻辑。

二、加载 CLIP

  • 核心功能

    • 加载调用CLIP 编码器模型,将自然语言的提示词(正 / 负)转化为模型能识别的向量特征(CLIP 条件),传递给 UNet 作为图像生成的 “文本指导依据”。
  • 通俗理解

    • 相当于绘画时的 “翻译官”,把用户的文字描述(如 “赛博朋克少女”)翻译成画师(UNet)能看懂的 “绘画指令”,确保生成内容与文本匹配。

三、加载 VAE

  • 核心功能

    • 加载调用VAE模型,主要负责两个核心操作:
      • 编码:将现实图像转化为 Latent 特征张量(图生图场景用);
      • 解码:将 UNet 生成的 Latent 特征张量转化为肉眼可见的 RGB 像素图像(文生图核心用解码功能)。
  • 通俗理解

    • 相当于绘画时的 “显影师”,把画师(UNet)画在特殊画布(Latent)上的草稿,转化为能直接观看的成品画作(像素图像);同时也能把现实照片转成草稿供画师参考。

4.3 分拆加载的核心价值

Checkpoint 模型 = 一台装好的整机电脑

插电就能用 → 一键加载

分拆模型 = 单独买的 CPU、显卡、主板

必须自己组装 → UNet+CLIP+VAE 分别接

  1. 组件替换灵活:可混搭不同的 UNet、CLIP、VAE 权重,实现定制化的生成效果;
  2. 参数精细化调控:为每个组件单独配置数据类型、设备(CPU/GPU)等参数,适配不同硬件环境;
  3. 适配特殊模型:针对 qwen等 这类组件分离的模型,必须通过分拆加载才能正常运行。

4.4 模型选择

HuggingFace 下载模型时,如何一眼判断用 Checkpoint 加载 还是 UNet/CLIP/VAE 分拆加载?

看文件 → 看后缀 → 看数量

  • 一个文件 = Checkpoint 加载器(简易)

    • 模型文件只有 1 个主文件
    • 文件名结尾是
      • .ckpt
      • .safetensors
  • 多个文件(unet/clip/vae 分开) = 分拆加载(UNet+CLIP+VAE)

    • 模型文件夹里 有好几个文件
    • 文件名明确出现关键词:
      • unet
      • clip
      • vae
    • 文件是分开的,比如:
      • model_unet.safetensors
      • model_clip.safetensors
      • model_vae.safetensors

4.5 工作流搭建

模型下载:https://pan.baidu.com/s/1Fx1pDr9ZTKJeC0GITnxF3Q?pwd=5zmj 提取码: 5zmj
image-20260419113230411

qwen基础工作流.json

image-20260419112046197

Unet加载器不同数据类型含义:

image-20260419112727094

这些是FP8(8 位浮点)的不同存储格式,属于低精度数据类型,用于在 ComfyUI 中优化模型推理的显存占用和速度,不同格式的核心差异在指数位、尾数位的分配以及推理效率 / 精度的取舍,以下是具体解析:

数据类型 核心含义 适用场景
fp8_e4m3fn FP8 的标准格式:4 位指数位 + 3 位尾数位,fn表示 “非规范化数(denorm)” 支持,是 FP8 最基础、兼容性最好的格式。 多数消费级显卡(如 RTX 30/40 系),平衡精度与速度。
fp8_e4m3fn_fast fp8_e4m3fn基础上做了硬件加速优化,推理速度更快,但部分老显卡可能不支持。 高端显卡(如 RTX 4090/50 系、A 卡 RX 7000 系),追求极致生成速度。
fp8_e5m2 FP8 的另一种格式:5 位指数位 + 2 位尾数位,指数位更多,能表示更大 / 更小的数值范围,但尾数位更少,精度略低于e4m3fn 大模型(如 qwen)的低精度推理,显存受限的设备(如笔记本显卡)。

核心总结

  1. 精度排序fp8_e4m3fnfp8_e4m3fn_fast > fp8_e5m2
  2. 速度排序fp8_e4m3fn_fast > fp8_e5m2 > fp8_e4m3fn
  3. 显存占用:三者均比 FP16/FP32 大幅降低,fp8_e5m2显存占用略低。

实际使用中,优先选fp8_e4m3fn(兼容性最好),高端显卡选fp8_e4m3fn_fast,显存紧张或运行大模型时选fp8_e5m2即可。

5.提示词编写技巧

一份清晰、结构化的提示词,能够更好地引导 AI 生成我们想要的画面。这里为大家推荐一个高效且易于上手的提示词编写模板

一、核心公式:三位一体结构

我们可以将提示词想象成向一位画家描述作品要求,一个高效的公式是:

质量词 + 内容描述 + 艺术风格

这三个部分依次决定了画面的 “精细度”“是什么”“像什么”

1. 质量词

这部分用于设定画面的基础质量和细节水平,通常放在提示词的最开头。

  • 常用词示例masterpiece(杰作)、highly detailed(高度细节)、Best quality(最佳质量)
  • 作用:相当于对 AI 说:“请用心画,画得精致一些。”

2. 内容描述

这是提示词的核心,用于描绘画面的具体内容。推荐采用 “谁 + 在哪里 + 做什么” 的结构进行组织,这样逻辑清晰,不易遗漏。

  • :主体是什么?例如:1girl(一个女孩)、an astronaut(一位宇航员)、a cute cat(一只可爱的猫)。
  • 在哪里:场景或背景是什么?例如:in a coffee shop(在咖啡馆)、on the moon(在月球上)、in a magical forest(在魔法森林中)。
  • 做什么:主体在发生什么动作或呈现什么状态?例如:smiling(微笑)、reading a book(看书)、flying a kite(放风筝)。
  • 细节补充:可以进一步描述外貌、服饰、表情、光线等,如 black curly hair, long hair, Big eyes, blue Shoulder skirt, Earrings(黑色卷发、长发、大眼睛、蓝色露肩裙、耳环)。

3. 艺术风格

这部分决定了画面的最终表现手法和审美基调。

  • 写实风格:追求像照片一样真实。关键词:photorealistic(照片般真实)、realistic(写实的)。
  • 3D 渲染风格:像三维软件制作的 CG 图像。关键词:3d rendering(3D 渲染)、CGI(电脑生成图像)。
  • 卡通/动画风格:具有手绘或动画质感。关键词:Cartoon(卡通)、Studio Ghibli(吉卜力工作室风格)、anime(动漫)。

二、参考案例与实操解析

假设我们想生成一张 “一位女孩在咖啡馆喝咖啡” 的精致写实图片。

  • 大模型选择:为了实现写实效果,我们可以选择擅长此类风格的模型,例如 realisticghostmix 等。

  • 正面提示词:这是我们希望画面中出现的内容。

    • text
    masterpiece, highly detailed, Best quality, 1girl, black curly hair, long hair, Big eyes, blue Shoulder skirt, Earrings, smiling, Coffee shop, have coffee, photorealistic
    
    • 结构分解
      • 质量词masterpiece, highly detailed, Best quality
      • 内容1girl(谁),black curly hair... Earrings(外貌细节),Coffee shop(在哪里),smiling, have coffee(做什么)
      • 风格photorealistic(写实风格)
  • 负面提示词:这是我们不希望画面中出现的内容,用于避免常见错误或瑕疵。

    • text
    nsfw, text, watermark
    
    • 含义解释
      • nsfw:排除不适宜公开的内容。
      • text:避免图片中出现无意义的文字符号。
      • watermark:避免出现类似水印的痕迹。

演示示例1:

这个示例营造一个充满幻想、色彩明媚的动画电影场景。

  • 正面提示词

    text

    Studio Ghibli style, masterpiece, beautiful and detailed, vibrant colors, a young explorer with a backpack and a straw hat, standing in a sun-dappled enchanted forest, giant glowing mushrooms and friendly forest spirits, looking up in awe, magical atmosphere, Miyazaki Hayao
    
    • 结构解析
      • 质量词masterpiece, beautiful and detailed
      • 内容a young explorer with a backpack and a straw hat(谁),standing in a sun-dappled enchanted forest, giant glowing mushrooms...(在哪里),looking up in awe(做什么),magical atmosphere(氛围)
      • 风格Studio Ghibli style, vibrant colors, Miyazaki Hayao(非常明确的风格指引)
  • 负面提示词

    text

    realistic, photorealistic, photo, dark, scary, horror, ugly, deformed, nsfw, text
    

演示示例2:

这个示例侧重于宏大的场景构建与特定的数字艺术风格。

  • 正面提示词

    text

    epic scale, concept art, digital painting, intricate details, a massive floating mechanical city overgrown with luminous plants, towering spires and flying vehicles, golden hour sunlight piercing through clouds, volumetric fog, by artists like Syd Mead and Moebius
    
    • 结构解析
      • 质量词epic scale, concept art, intricate details(这里用“概念艺术”和“史诗规模”来定义一种高质量标准)
      • 内容a massive floating mechanical city(场景主体),overgrown with luminous plants, towering spires and flying vehicles(场景细节),golden hour sunlight, volumetric fog(光影氛围)
      • 风格digital painting(风格媒介),by artists like...(通过参考艺术家来锁定特定审美风格)
  • 负面提示词

    text

    low resolution, pixelated, blurry, simple background, empty, cartoon, real photo, photograph, human, person, face
    

6.k采样器参数

参数类别 参数名称 说明 推荐值范围 作用效果与原理 实用示例
基础控制 随机种(Seed) 生成过程的“身份ID” 任意整数(如12345 本质是潜在空间中初始噪点图的坐标。相同种子+相同参数=几乎相同的输出,保证可复现性。是创作中微调的起点。 找到一张喜欢的图,记录其种子,可在此基础上仅修改提示词进行系列创作。
生成后控制 种子的行为模式 递增/递减/固定/随机 固定:保持当前种子不变;随机:每次生成全新种子。 批量生成不同创意时选“随机”;优化单张作品时选“固定”。
质量与时间 步数(Steps) 画师的“思考时间” 见右侧详解 去噪迭代次数。每一步都是对图像的一次“思考与修正”。 草图(5-15步):快速构思,适合分镜。 动漫/卡通(20-30步):风格化强,细节需求适中。 超写实/复杂场景(25-40步):需要更多步数打磨材质、光影等微观细节。
创意控制 CFG(提示词引导系数) 画师的“听话程度” 见右侧详解 控制生成结果与你的提示词之间的紧密度 创意发散(3-6):AI有更大自由发挥空间,色彩、构图可能更“艺术”,但可能偏离提示。 平衡可控(7-9):最常用范围,良好遵循提示的同时保持自然。 过度引导(>10):易产生“过度锐化”、“塑料感”、颜色饱和度过高或肢体扭曲。
算法核心 采样器(Sampler) 画师的“作画策略” 见右侧详解 决定了从纯噪声到清晰图像的“行走路径”。不同算法在速度、稳定性和风格倾向上有差异。 全能优选 dpmpp_2m:速度与质量平衡好,通用性强。 快速草图 euler/euler a:单步快,适合快速测试想法(euler a 是随机变体,更有趣)。 高质写实 dpmpp_sde:带随机微分方程,常能产出更丰富的细节和更“绘画感”的结果,但更慢。
调度器(Scheduler) 作画的“节奏大师” 见右侧详解 控制每一步噪声去除的“力度”变化曲线。影响收敛速度和最终纹理。 细节增强 karras:中后期步长变化,强调后期精细调整,常增加对比和细节。 平滑稳定 normal:线性或简单调度,产出更柔和、有时更“平均”的结果。 快速收敛 exponential:前期去噪猛,适合步数少时快速成型,但可能损失一些微妙过渡。
高级合成 降噪(Denoise) 新旧画面的“融合比” 0.0 - 1.0 在图生图(Latent)流程中,控制在初始图上应用新生成过程的比例 完整重绘(1.0):从初始潜变量完全重新生成。 风格融合(0.5-0.8):保留原图大致构图和色彩,注入新风格或内容。 微调优化(0.2-0.4):仅做轻微色调、细节调整。 抽象叠加(<0.3):产生类似双重曝光的多层抽象效果。

步数测试:

  • 推荐参数:
    • 卡通20,写实30

image-20260118144052630

cfg测试

  • 推荐参数:
    • 7左右

image-20260118144235132

步数(Steps) vs. 采样器(Sampler)

  • 误区纠正:“步数越高=质量越好”不完全正确。每个采样器都有其“收益饱和点”
  • 示例对比
    • 使用 euler 采样器,可能15步后细节就不再显著提升,而30步只是浪费时间。
    • 使用 dpmpp_2m 采样器,可能在25步达到最佳平衡,40步能挖掘出更微妙的纹理。
  • 行动建议:为你的常用采样器做阶梯测试(如5, 15, 25, 35步),找到其“性价比”最高的步数区间。

cfg与采样器的化学反应

  • 关键洞察:cfg的效果强烈依赖采样器
    • 对于 euler 这类简单采样器,CFG>9就极易崩坏。
    • 对于 dpmpp_sde 这类复杂采样器,CFG在7-11之间可能仍能保持稳定,并产出高动态范围的作品。
  • 测试任务:固定一个复杂人像提示词,用 dpmpp_2m 测试CFG=7, 9, 12。观察面部细节、瞳孔高光和发丝锐利度的变化。

调度器:改变图像的“质感”

让我们通过一个具体场景来理解:

  • 提示词A weathered ancient stone statue, moss covering, morning mist, forest
  • 测试组合
    1. dpmpp_2m + karras:雕像表面会显得更粗糙、更戏剧化,苔藓细节分明,像一张高清摄影。
    2. dpmpp_2m + normal:雕像可能更光滑、整体更统一,雾气更柔和,像一幅古典油画。
  • 原理karras调度在最后几步使用极小的步长,相当于画师在收尾时用了更细的笔刷进行“精雕细琢”。

推荐组合配置模板

创作目标 采样器 步数 CFG 调度器 说明
快速创意探索 euler a 12-18 7-8 normal 快速试错,捕捉灵感,不拘泥于细节。
高质量动漫/角色 dpmpp_2m 25-30 7.5-8.5 karras 平衡速度与角色细节、线条清晰度。
超写实照片/场景 dpmpp_sde 30-35 8-9.5 karras 最大化材质、光影和复杂场景的细节深度。
艺术感绘画/概念 dpmpp_2m 28-35 6-7.5 normal 给予AI更多创作自由,获得更“绘画性”而非“照片性”的结果。
图生图风格融合 dpmpp_2m 20-25 7-8 normal 降噪设置在0.5-0.75,平衡原图信息与新指令。

最终建议:理解参数最好的方式就是控制变量法测试。创建一个你最喜欢的提示词,然后每次只改变一个参数(如固定其他,只从CFG=7调到CFG=12),像做科学实验一样观察其带来的视觉变化,你将成为真正驾驭AI的画师。

posted @ 2026-04-21 10:55  凫弥  阅读(15)  评论(0)    收藏  举报