跳转至

09-FLUX与新一代模型工作流

⚠️ 时效性说明:本章涉及前沿模型/价格/榜单等信息,可能随版本快速变化;请以论文原文、官方发布页和 API 文档为准。

FLUX与新一代模型工作流示意图

🎯 学习目标

  • 理解 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秒+)
    └── 分段生成 + 插帧 + 后期拼接

🎯 面试/实操要点

  1. FLUX和SD的核心区别? — FLUX用Rectified Flow(直线轨迹,少步数),SD用DDPM(曲线轨迹,多步数)。FLUX用MMDiT(Transformer),SD1.5/XL用U-Net
  2. 为什么FLUX Schnell只需4步? — Rectified Flow + 蒸馏训练,使采样轨迹接近直线,少步数即可到达目标
  3. SD3为什么用三个文本编码器? — CLIP-L/CLIP-G负责语义理解,T5-XXL负责长文本和复杂指令。三编码器互补,显著提升文本遵循度
  4. 视频生成的主要挑战? — 时间一致性(帧间连贯)、运动控制、长时间生成、显存消耗
  5. AnimateDiff的设计精妙在哪? — 冻结图像模型,只训练运动模块(temporal attention),实现即插即用
  6. 如何在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