09-FLUX与新一代模型工作流¶
⚠️ 时效性说明:本章涉及前沿模型/价格/榜单等信息,可能随版本快速变化;请以论文原文、官方发布页和 API 文档为准。
🎯 学习目标¶
- 理解 FLUX.1 系列模型的架构特点与使用方法
- 掌握 SD3/SD3.5 的三编码器工作流配置
- 学会使用 AnimateDiff、CogVideoX、SVD 等视频生成工作流
- 掌握 FLUX ControlNet、LoRA、Inpainting 等高级功能
- 了解不同显存条件下的优化策略与模型选择
学习时间:4-5小时 | 难度:⭐⭐⭐⭐ | 前置:05-模型加载与使用、06-高级工作流
💡 FLUX.1引领Rectified Flow新范式,SD3带来MMDiT架构,视频生成从概念走向实用。
9.1 FLUX.1系列模型¶
9.1.1 FLUX.1概述¶
FLUX.1由Black Forest Labs(Stable Diffusion原始作者团队)推出,采用Rectified Flow替代传统扩散过程。
| 变体 | 参数量 | 许可 | 特点 |
|---|---|---|---|
| FLUX.1 [pro] | 12B | API only | 最高质量,商用API |
| FLUX.1 [dev] | 12B | 开源(非商用) | 接近pro质量,可本地运行 |
| FLUX.1 [schnell] | 12B | Apache 2.0 | 4步出图,速度极快 |
9.1.2 核心架构特点¶
Markdown
## Rectified Flow vs DDPM
- DDPM: 曲线路径,需要1000步 → 20-50步(调度器优化)
- Rectified Flow: 直线路径,天然少步数(4-8步)
- 从噪声到图像的"最短路径"
- 训练时让轨迹尽量接近直线
## MMDiT (Multi-Modal Diffusion Transformer)
- 文本和图像共享同一个Transformer
- 双流设计:文本流 + 图像流,通过Attention交互
- 比U-Net更好的文本-图像对齐
9.1.3 ComfyUI加载FLUX工作流¶
YAML
# FLUX基础文生图工作流
节点配置:
1. CheckpointLoaderSimple:
- ckpt_name: flux1-dev-fp8.safetensors
# 注意: FLUX需要较大显存(12B参数)
# fp8版本约12GB显存,fp16需要24GB+
2. CLIPTextEncode (正面提示):
- text: "A majestic dragon soaring through clouds at sunset,
cinematic lighting, 8k, photorealistic"
# FLUX对长prompt理解力极强
3. CLIPTextEncode (负面提示):
- text: "blurry, low quality, distorted"
4. KSampler:
- steps: 20 # FLUX dev推荐20步
- cfg: 3.5 # FLUX的CFG通常较低(1-5)
- sampler: euler # Rectified Flow用euler最佳
- scheduler: simple # 不需要复杂调度器
- denoise: 1.0
5. EmptyLatentImage:
- width: 1024
- height: 1024 # FLUX原生1024x1024
6. VAEDecode → SaveImage
9.1.4 FLUX Schnell快速出图¶
YAML
# 4步快速出图工作流
KSampler配置:
steps: 4 # Schnell只需4步!
cfg: 1.0 # Schnell几乎不需要CFG
sampler: euler
scheduler: simple
# 性能对比 (RTX 4090):
# - FLUX schnell 4步: ~3秒/张
# - FLUX dev 20步: ~15秒/张
# - SDXL 25步: ~8秒/张
9.2 SD3/SD3.5工作流¶
9.2.1 SD3架构创新¶
Markdown
## Stable Diffusion 3 关键特性
1. MMDiT架构(与FLUX同源)
2. 三文本编码器: CLIP-L + CLIP-G + T5-XXL
3. 原生多分辨率训练
4. 改进的文字渲染能力
## SD3.5变体
- SD3.5 Large: 8B参数,高质量
- SD3.5 Large Turbo: 8B,少步数优化
- SD3.5 Medium: 2.5B,性价比最高
9.2.2 ComfyUI SD3工作流¶
YAML
# SD3.5文生图工作流
节点配置:
1. CheckpointLoaderSimple:
- ckpt_name: sd3.5_large.safetensors
2. TripleCLIPLoader: # SD3需要三编码器
- clip_name1: clip_l.safetensors
- clip_name2: clip_g.safetensors
- clip_name3: t5xxl_fp8.safetensors
3. CLIPTextEncodeSD3:
- clip_l: "photography prompt"
- clip_g: "detailed description"
- t5xxl: "very detailed and long description..."
# T5编码器理解长文本最好
4. KSampler:
- steps: 28
- cfg: 4.5
- sampler: dpmpp_2m
- scheduler: sgm_uniform
9.3 视频生成工作流¶
9.3.1 AnimateDiff¶
Markdown
## AnimateDiff原理
- 在预训练图像模型基础上添加运动模块(motion module)
- 运动模块 = 时间维度的Transformer
- 无需重训基础模型,即插即用
## ComfyUI节点
1. AnimateDiff Loader
- model: 选择运动模型版本(v2/v3/Lightning)
- beta_schedule: linear/cosine
2. AnimateDiff Settings
- frame_count: 16-32帧
- fps: 8-16
3. 配合ControlNet实现:
- 角色一致性动画
- 视频风格迁移
- 关键帧插值
9.3.2 CogVideoX工作流¶
YAML
# CogVideoX文本到视频工作流
节点配置:
1. CogVideoXModelLoader:
- model: CogVideoX-5B # 或2B轻量版
2. CogVideoXTextEncode:
- prompt: "A cat playing piano, smooth motion,
high quality, cinematic"
- negative: "static, blurry, distorted"
3. CogVideoXSampler:
- steps: 50
- cfg: 6.0
- num_frames: 49 # 约6秒@8fps
- width: 720
- height: 480
4. CogVideoXDecode → SaveVideo
# 显存要求:
# - CogVideoX-2B: 约16GB VRAM
# - CogVideoX-5B: 约24GB VRAM (推荐RTX 4090/A100)
9.3.3 SVD(Stable Video Diffusion)¶
YAML
# SVD图像到视频工作流(ComfyUI 内置节点)
节点配置:
1. ImageOnlyCheckpointLoader:
- ckpt_name: svd_xt.safetensors # XT版生成25帧
- 输出: MODEL, CLIP_VISION, VAE
2. LoadImage:
- 输入一张参考图像
3. CLIPVisionEncode:
- clip_vision: [ImageOnlyCheckpointLoader.CLIP_VISION]
- image: [LoadImage 输出]
4. SVD_img2vid_Conditioning:
- clip_vision_output: [CLIPVisionEncode 输出]
- init_image: [LoadImage 输出]
- vae: [ImageOnlyCheckpointLoader.VAE]
- width: 1024
- height: 576
- video_frames: 25
- motion_bucket_id: 127 # 运动幅度(0-255),越大运动越剧烈
- fps: 6
- augmentation_level: 0.0
- 输出: positive, negative, latent
5. VideoLinearCFGGuidance:
- model: [ImageOnlyCheckpointLoader.MODEL]
- min_cfg: 1.0 # 视频帧间CFG线性衰减
6. KSampler:
- model: [VideoLinearCFGGuidance 输出]
- steps: 20
- cfg: 2.5
- sampler: euler
- scheduler: karras
7. VAEDecode → SaveImage / VHS_VideoCombine
# 典型用途:
# - 产品展示动画
# - 人物微动画
# - 场景氛围动画
9.3.4 Wan2.1(万相)¶
Markdown
## 万相视频生成 (阿里开源)
- 文生视频 + 图生视频
- 支持480p/720p
- 开源模型,中文理解力强
## ComfyUI集成
- 安装 ComfyUI-Wan2.1 自定义节点
- 需要下载wan2.1模型文件
- 工作流类似CogVideoX
9.4 高级FLUX工作流¶
9.4.1 FLUX ControlNet¶
YAML
# FLUX ControlNet工作流(Canny边缘控制)
节点配置:
1. LoadImage → CannyEdgeDetector:
- threshold1: 100
- threshold2: 200
2. ControlNetLoader (加载FLUX ControlNet模型):
- model: flux-canny-controlnet.safetensors
3. ControlNetApplyAdvanced (应用控制条件):
- strength: 0.8
- 将ControlNet条件注入FLUX采样过程
4. 常规FLUX采样流程
# 注意: FLUX ControlNet需要安装社区自定义节点包
# 推荐: InstantX/ComfyUI-FLUX-ControlNet
# 可用ControlNet类型:
# - Canny: 边缘控制
# - Depth: 深度控制
# - Pose: 姿态控制
# - Tile: 细节增强
9.4.2 FLUX LoRA¶
YAML
# FLUX LoRA加载工作流
节点配置:
1. CheckpointLoaderSimple: flux1-dev
2. LoraLoader:
- lora_name: flux-realism-lora.safetensors
- strength_model: 0.8
- strength_clip: 0.8
3. 常规FLUX采样流程
# FLUX LoRA训练要点:
# - 需要大显存: 24GB+ (推荐A100)
# - 训练步数: 1000-5000步
# - 学习率: 1e-4 (比SD LoRA高)
# - 推荐工具: ai-toolkit, kohya-ss
9.4.3 FLUX图像修复(Inpainting)¶
YAML
# FLUX Inpainting工作流
节点配置:
1. LoadImage: 原始图像
2. LoadImage: 蒙版(白色=修改区域)
3. InpaintModelConditioning:
- 将原图+蒙版转为FLUX可用条件
4. CLIPTextEncode:
- text: "修改区域的描述"
5. KSampler:
- denoise: 0.85 # Inpaint通常0.7-0.9
6. VAEDecode → SaveImage
9.5 工作流优化技巧¶
9.5.1 显存优化¶
Markdown
## FLUX显存优化方案(从小到大)
### 方案1: FP8量化 (推荐)
- flux1-dev-fp8.safetensors
- 显存: ~12GB
- 质量损失极小
### 方案2: NF4量化
- 使用bitsandbytes NF4量化
- 显存: ~8GB
- 有一定质量损失
### 方案3: 模型卸载(Offload)
- ComfyUI设置: --lowvram
- CPU/GPU之间动态搬运
- 速度慢但可在8GB显卡运行
### 方案4: Tiling VAE
- VAE分块解码,减少峰值显存
- 对生成质量无影响
9.5.2 批量生成工作流¶
YAML
# 批量文生图工作流
使用Prompt Queue:
1. 准备prompt列表(txt/csv)
2. 使用LoadText节点逐行读取
3. 设置Queue模式: 自动执行
4. 输出到指定文件夹,自动命名
# 或使用API批量调用:
# ComfyUI支持REST API
# POST /prompt 提交工作流
# GET /history 获取结果
9.6 模型选择指南¶
9.6.1 2024-2025主流模型对比¶
| 模型 | 类型 | 质量 | 速度 | 显存 | 适用场景 |
|---|---|---|---|---|---|
| FLUX.1 dev | 图像 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | 12GB+ | 高质量创作 |
| FLUX.1 schnell | 图像 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 12GB+ | 快速原型 |
| SD3.5 Medium | 图像 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 8GB+ | 性价比之王 |
| SDXL | 图像 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 8GB+ | 生态最丰富 |
| AnimateDiff | 视频 | ⭐⭐⭐ | ⭐⭐⭐⭐ | 8GB+ | 短动画 |
| CogVideoX | 视频 | ⭐⭐⭐⭐ | ⭐⭐ | 16GB+ | 高质量视频 |
| SVD | 视频 | ⭐⭐⭐ | ⭐⭐⭐ | 8GB+ | 图转短视频 |
9.6.2 选择决策树¶
Text Only
需要生成什么?
├── 静态图像
│ ├── 追求最高质量 → FLUX.1 dev (20步)
│ ├── 需要快速迭代 → FLUX.1 schnell (4步)
│ ├── 显存有限(8GB) → SD3.5 Medium / SDXL
│ └── 需要丰富LoRA/ControlNet → SDXL (生态最完善)
│
├── 短视频(2-6秒)
│ ├── 从文本生成 → CogVideoX / 万相
│ ├── 从图像生成 → SVD
│ └── 风格化动画 → AnimateDiff + LoRA
│
└── 长视频(6秒+)
└── 分段生成 + 插帧 + 后期拼接
🎯 面试/实操要点¶
- FLUX和SD的核心区别? — FLUX用Rectified Flow(直线轨迹,少步数),SD用DDPM(曲线轨迹,多步数)。FLUX用MMDiT(Transformer),SD1.5/XL用U-Net
- 为什么FLUX Schnell只需4步? — Rectified Flow + 蒸馏训练,使采样轨迹接近直线,少步数即可到达目标
- SD3为什么用三个文本编码器? — CLIP-L/CLIP-G负责语义理解,T5-XXL负责长文本和复杂指令。三编码器互补,显著提升文本遵循度
- 视频生成的主要挑战? — 时间一致性(帧间连贯)、运动控制、长时间生成、显存消耗
- AnimateDiff的设计精妙在哪? — 冻结图像模型,只训练运动模块(temporal attention),实现即插即用
- 如何在8GB显卡跑FLUX? — FP8量化+Tiling VAE+适当降分辨率(768x768)
✅ 学习检查清单¶
- 能搭建FLUX.1 dev/schnell的基础文生图工作流
- 了解Rectified Flow与DDPM的区别
- 能配置SD3的三编码器工作流
- 至少搭建一个视频生成工作流(AnimateDiff/CogVideoX/SVD)
- 掌握FLUX ControlNet和LoRA的使用方法
- 知道不同显存条件下的优化策略
- 能根据需求选择合适的模型
📌 返回目录:README.md —— 查看完整学习路径与进度跟踪
最后更新日期:2026-02-12 适用版本:ComfyUI实战教程 v2026