三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

AI绘画进阶:Flux.1-schnell模型、Krea风格库与深度图控制实战指南

AI绘画进阶:Flux.1-schnell模型、Krea风格库与深度图控制实战指南

如果你最近在尝试AI绘画,可能会发现一个现象:很多教程都在教你如何“咒语炼丹”——精心设计几十个单词的提示词,反复调整参数,只为生成一张勉强能看的图。但与此同时,一些新的工具和模型正在从根本上改变这个流程:它们让AI理解你的意图变得更简单,让风格控制变得更精准,甚至能让你用一张草图或照片直接“洗”出高质量作品。

今天要聊的,就是这样一个组合拳:Flux.1-schnell 模型、Krea AI 的风格库,以及深度图(Depth Map)控制技术。这不仅仅是三个独立工具的堆砌,而是一套从“想法”到“成品”的完整工作流升级。

很多人以为AI绘画的瓶颈在于模型本身,但实际上,真正的瓶颈往往在于“控制力”。你有一个绝佳的创意,但AI就是无法理解你想要的光影、构图和细节。Flux.1-schnell 作为 Stability AI 推出的新一代图像生成模型,在理解力和图像质量上有了显著提升。而 Krea AI 提供的近400种风格化提示词,则像是一个现成的“视觉词典”,能让你用最少的词触发最准确的风格。最后,深度图控制技术(常通过 ControlNet 等工具实现)则解决了构图和空间关系的难题,让你能“锁定”草图的结构,让AI只负责渲染和美化。

这篇文章,我将为你拆解这套组合拳的完整使用攻略。你将了解到:

  1. Flux.1-schnell 模型到底是什么,它与之前的 SDXL、SD 1.5 相比,强在哪里,又该如何快速上手体验。
  2. 如何利用 Krea AI 的风格库,将 397 种风格提示词化为己用,告别“词穷”和“风格不伦不类”的尴尬。
  3. 深度图控制的实战应用,从一张普通的照片或简单的线稿,如何一步步“洗”出结构精准、细节丰富的专业级作品。
  4. 更重要的是,我会分享如何将这三者无缝衔接成一个高效的工作流,并指出其中最容易踩坑的地方和最佳实践。

无论你是刚接触AI绘画的新手,还是正在寻找效率突破的资深玩家,这套攻略都能让你在几分钟内看到质的改变。我们不再空谈概念,直接从环境搭建和第一个可运行的案例开始。

1. 为什么你需要关注 Flux + Krea + 深度图这套组合?

在深入技术细节之前,我们先明确一个核心问题:这套组合到底解决了什么痛点?它不仅仅是“又一个新模型”或“又一个提示词网站”。

痛点一:提示词效率低下与“玄学”调参传统的AI绘画严重依赖用户对提示词(Prompt)工程的理解。描述一个“赛博朋克城市夜景”,你可能需要组合cyberpunk,neon lights,rainy street,futuristic cityscape,blade runner style,cinematic lighting等一系列词汇,并不断调整权重。这个过程既耗时,结果也充满不确定性。Krea AI 的风格库本质上是一种“风格蒸馏”,它将复杂的视觉风格浓缩成几个关键触发词,极大地降低了风格描述的门槛和随机性。

痛点二:对构图和空间关系控制力弱即使提示词写得再好,AI生成的构图也可能完全偏离你的预期。你想让人物站在左边,AI可能把人放在中间;你想保持建筑的结构,AI可能生成一堆扭曲的线条。这就是ControlNet类工具(如深度图、Canny边缘检测、OpenPose等)要解决的问题。深度图能理解图像的远近和层次,让AI在遵循原有空间结构的基础上进行创作,实现了从“完全随机”到“可控生成”的跨越。

痛点三:模型迭代带来的质量与速度平衡难题Stable Diffusion 1.5 速度快但细节不足,SDXL 质量高但速度慢、显存要求高。Flux.1-schnell作为新一代架构的模型,在保持较高图像质量的同时,显著优化了推理速度(“schnell”在德语中即为“快速”之意),并且对提示词的理解能力更强,能生成更符合语义、细节更丰富的图像。它代表了从“扩散模型”到“流匹配(Flow Matching)”等新训练范式的发展方向。

这套组合的价值链非常清晰:

  • Krea 风格词库解决“画什么风”的问题,提供精准的视觉起点。
  • 深度图控制解决“画成什么样”的问题,锁定构图和主体。
  • Flux.1-schnell 模型解决“画得多好多快”的问题,提供高质量的渲染引擎。

接下来,我们将逐一拆解这三个核心组件,并最终将它们串联起来。

2. 核心概念与工具解析

在开始动手之前,我们需要厘清几个关键概念,避免后续操作中出现混淆。

2.1 Flux.1-schnell:不只是“更快的SDXL”

Flux 是 Stability AI 推出的一个系列生成模型。我们关注的Flux.1-schnell是其中一个专注于快速推理的版本。

  • 核心原理:它可能采用了区别于传统扩散模型(如DDPM)的新训练方法,例如流匹配(Flow Matching)一致性模型(Consistency Models)。这些方法旨在用更少的采样步骤生成高质量图像,从而大幅提升生成速度。
  • 关键特性
    • 理解力更强:对复杂、长篇幅提示词的语义捕捉更准确。
    • 细节更丰富:在人物五官、材质纹理、环境光影等方面有更好表现。
    • 出图更快:在同等硬件下,相比SDXL能达到数倍的推理速度。
    • 需要特定加载器:它通常不能直接用原始的 Stable Diffusion WebUI 加载,需要对应的模型加载方式(如使用diffusers库或兼容 Flux 的 WebUI 分支)。

2.2 Krea AI 风格提示词库:你的视觉风格“快捷键”

Krea AI 是一个AI图像生成和增强平台,它的一大特色是维护了一个庞大且不断增长的风格提示词(Style Prompt)库

  • 它是什么:这不是一个需要下载的模型,而是一个在线的、分类清晰的提示词集合。每个风格都提供了关键词、示例图,有时还包括推荐的负面提示词(Negative Prompt)和基础模型建议。
  • 如何使用:你不需要在 Krea 的网站上生成图片。我们的用法是:将其风格关键词“移植”到我们本地的 Stable Diffusion WebUI 或 ComfyUI 中使用。例如,Krea 上有一个“Cinematic Portrait”(电影感肖像)风格,它提供的核心提示词可能是cinematic portrait, dramatic lighting, film grain, 35mm。你复制这些词,加入到你的提示词中,就能显著影响出图风格。
  • 为什么有效:这些风格词是经过大量测试和优化的“配方”,避免了新手自己摸索组合词的试错成本。

2.3 深度图(Depth Map)与控制网络(ControlNet)

这是实现“图生图”精准控制的核心技术。

  • 深度图:一张灰度图像,其中每个像素的亮度值代表了该点距离摄像机的远近(越亮越近,越暗越远)。它剥离了颜色和纹理,只保留场景的三维空间结构信息。
  • ControlNet:一个神经网络框架,它可以将额外的条件(如深度图、边缘图、姿态图等)作为输入,强有力地控制 Stable Diffusion 模型的生成过程,使其输出图像在结构上符合条件图。
  • 工作流程:你提供一张参考图(照片或线稿)→ 使用深度估计算法(如 MiDaS)生成其深度图 → 将深度图输入给启用了 Depth ControlNet 的 AI 模型 → 模型在新的提示词指导下,生成一张与参考图深度结构相似的全新图像。这就是所谓的“一键洗图”——保留骨架,换上新衣。

3. 环境准备与工具安装

我们将基于最流行的Stable Diffusion WebUI (Automatic1111)来搭建整个工作流。请确保你的电脑拥有NVIDIA 显卡(建议8G显存以上)并已安装好显卡驱动。

3.1 基础环境:安装 Stable Diffusion WebUI

如果你还没有安装,请按照以下步骤进行:

  1. 安装 Python:访问 Python 官网,下载并安装Python 3.10.63.10.x版本。安装时务必勾选 “Add Python to PATH”。
  2. 安装 Git:从 Git 官网下载并安装 Git。
  3. 克隆 WebUI 仓库:打开命令行(CMD 或 PowerShell),执行以下命令:
    git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui
  4. 启动安装脚本
    • Windows 用户直接双击运行webui-user.bat。脚本会自动创建虚拟环境并安装所有依赖。
    • 首次运行会下载较大的基础模型(如v1-5-pruned-emaonly.safetensors),请保持网络通畅。
  5. 启动成功:当命令行出现 “Running on local URL: http://127.0.0.1:7860” 时,在浏览器中打开这个链接,即可看到 WebUI 界面。

3.2 安装 Flux.1-schnell 模型

由于 Flux 是较新的架构,标准的 WebUI 可能不直接支持。我们需要通过Diffusers格式来加载。

  1. 下载模型文件:从可信的模型发布站(如 Hugging Face)下载flux1-schnell模型。通常是一个包含model_index.json和多个*.safetensors文件的文件夹。
  2. 放置模型:将整个模型文件夹放入 WebUI 的模型目录:stable-diffusion-webui/models/Stable-diffusion/
  3. 在 WebUI 中加载:刷新 WebUI 页面,在左上角的模型选择下拉框中,你应该能看到新放入的flux1-schnell模型,选择它即可。

注意:如果加载失败,可能需要更新 WebUI 到最新版本,或安装特定的扩展。请关注社区关于 Flux 模型加载的最新教程。

3.3 安装 ControlNet 扩展

这是使用深度图等功能的前提。

  1. 在 WebUI 的 “Extensions” 标签页中,点击 “Available”,然后点击 “Load from”。
  2. 在扩展列表中找到“sd-webui-controlnet”,点击其右侧的 “Install” 按钮。
  3. 安装完成后,回到 “Installed” 标签页,点击 “Apply and restart UI” 重启 WebUI。
  4. 重启后,你会在文生图(txt2img)和图生图(img2img)页面的下方看到折叠的“ControlNet”面板。

3.4 下载 ControlNet 预处理器和模型

ControlNet 需要对应的预处理器和模型文件来处理深度图。

  1. 展开 ControlNet 面板,你会看到 “Preprocessor” 和 “Model” 两个下拉框。
  2. 首次使用某个功能(如深度图)时,点击 “Preprocessor” 旁边的爆炸图标,WebUI 会自动下载对应的预处理器(如depth_anythingmidas)。
  3. 对于模型,你需要手动下载control_v11f1p_sd15_depthcontrol_v11p_sd15_depth这类深度控制模型。将其放入stable-diffusion-webui/extensions/sd-webui-controlnet/models/目录。
  4. 重启 WebUI 或刷新模型列表,即可在 “Model” 下拉框中选择深度模型。

至此,核心工具环境已准备就绪。

4. 实战演练:从草图到成品的完整工作流

我们现在用一个完整的例子,串联起 Flux 模型、Krea 风格和深度图控制。目标:将一张简单的室内线稿草图,转化为一张具有“科幻控制室”风格的高质量渲染图。

4.1 第一步:准备输入草图与生成深度图

假设我们有一张名为control_room_sketch.png的简单线稿,画面是一个有控制台和大屏幕的房间。

  1. 打开 WebUI 的“图生图(img2img)”标签页。
  2. 将草图拖入图像输入区域。
  3. 在下方的ControlNet面板中:
    • 勾选“Enable”
    • 将你的草图拖入 ControlNet 的图像区域。
    • 预处理器(Preprocessor):选择depth_anything(这是一个效果不错的深度估计器)或depth_midas
    • 模型(Model):选择你下载的深度控制模型,如control_v11f1p_sd15_depth
    • 控制权重(Control Weight):初次尝试可以设为1.0
    • 引导介入时机(Starting Control Step)和退出时机(Ending Control Step):通常保持默认(0.0 和 1.0),表示全程控制。
  4. 点击“Preview”按钮。WebUI 会使用预处理器分析你的草图,生成一张深度图并显示在预览区。检查深度图是否合理(前景亮,背景暗,结构清晰)。如果效果不好,可以尝试其他预处理器如depth_leres

4.2 第二步:融合 Krea 风格提示词

现在,我们去 Krea AI 的风格库(通常在其官网有展示)寻找适合的风格。假设我们找到了一个名为“Sci-Fi Control Room”的风格,其推荐提示词为:futuristic control room, holographic displays, glowing panels, clean sci-fi, cinematic lighting, volumetric fog, neon accents

同时,它可能还建议了负面提示词:blurry, messy, cluttered, cartoon, drawing, painting

  1. 回到 WebUI 的图生图页面。
  2. “正向提示词(Prompt)”框中,输入我们的核心描述,并融合 Krea 风格词:
    masterpiece, best quality, a highly detailed futuristic control room with central holographic displays and glowing control panels, clean sci-fi aesthetic, cinematic lighting with volumetric fog, neon blue and orange accents
    (注:masterpiece, best quality是常用的质量提升标签)。
  3. “负向提示词(Negative Prompt)”框中,输入 Krea 建议的负面词,并补充一些通用负面词:
    blurry, messy, cluttered, cartoon, drawing, painting, ugly, deformed, bad anatomy, extra limbs

4.3 第三步:配置生成参数并选择 Flux 模型

  1. 在页面左上角,确保“Stable Diffusion checkpoint”选择了我们安装的flux1-schnell模型。
  2. 设置采样方法(Sampling method):对于 Flux 模型,可以尝试DPM++ 2M KarrasEuler a。不同模型偏好不同,需要测试。
  3. 设置采样步数(Sampling steps):Flux 作为快速模型,可能不需要很多步。可以从20步开始尝试。
  4. 设置图像尺寸(Width/Height):这里非常重要!必须与你输入的草图尺寸保持一致,或者按比例缩放。否则 ControlNet 的深度图会对不上,导致生成图像扭曲。假设草图是 512x512,这里也设为 512x512。
  5. 设置重绘幅度(Denoising strength):这个参数控制 AI 在多大程度上“尊重”原图。对于线稿转渲染,我们希望AI大量发挥,所以可以设得高一些,比如0.70.85。如果原图细节很丰富想微调,则设低一些(0.3-0.5)。

4.4 第四步:生成与迭代

点击“Generate”按钮,等待结果。

  • 第一次生成:观察生成图是否具备了科幻控制室的风格,同时是否保持了原始草图的房间结构和控制台、屏幕的大致位置。
  • 迭代优化
    • 如果结构保持得好,但风格不对:调整提示词,增加或减少某些风格描述词,或者尝试 Krea 库中的其他科幻风格词。
    • 如果风格对了,但结构扭曲:调整 ControlNet 的“控制权重(Control Weight)”,适当降低(如到0.8),让模型有更多自由发挥空间。也可以检查深度图预览是否准确,尝试换用其他深度预处理器。
    • 如果画面模糊或细节差:可以适当增加采样步数,或者尝试在提示词中加入8k, ultra detailed, intricate details等质量词。也可以使用 WebUI 的“高清修复(Hires. fix)”功能进行二次放大和细化。

通过几次调整,你就能得到一张既符合原始构图设想,又充满科幻细节的高质量渲染图。这个过程完美展示了深度图控制结构、Krea风格词定义视觉语言、Flux模型提供高质量渲染的分工协作。

5. Krea 风格库的深度使用技巧

仅仅复制粘贴风格词是初阶用法。要真正用好这个库,你需要理解其背后的逻辑并灵活变通。

5.1 风格词的分解与重组

Krea 的一个风格词条往往是一个“套餐”。例如一个电影感风格可能包含:cinematic, 35mm film, grainy, desaturated, dramatic shadows

  • 拆解:你可以将其拆解为“载体”(35mm film)、“质感”(grainy)、“色调”(desaturated)和“光影”(dramatic shadows)几个部分。
  • 重组:当你想要“赛博朋克电影感”时,就可以组合赛博朋克的核心词(neon, cyberpunk, rainy, night)和电影感的质感色调词(cinematic, 35mm film, grainy),创造出新的混合风格。

5.2 与负面提示词的配合

很多 Krea 风格会附带推荐的负面提示词。这些负面词是风格定义的一部分,用于抑制不符合该风格的常见元素。务必重视并使用它们。例如,一个“水彩画”风格可能会附带负面词photo, realistic, 3d, render,以强制模型远离写实照片感。

5.3 权重的精细控制

在 WebUI 中,可以使用(word:weight)的语法来调整某个关键词的影响力。例如,你觉得glowing这个效果太强,可以改为(glowing:0.8);觉得clean不够,可以改为(clean:1.2)。对于从 Krea 借鉴来的复杂风格词串,对其中一两个核心词进行微调,往往能获得更理想的效果。

5.4 建立你自己的风格词库

建议在本地用一个文档或笔记软件,将你从 Krea 或其他地方收集的、经过自己测试有效的风格词配方记录下来。记录格式可以包括:

  • 风格名称
  • 核心正向提示词
  • 推荐负向提示词
  • 适用模型(如 Flux, SDXL, 1.5等)
  • 备注/样例图链接

日积月累,这就成了你个人最宝贵的AI绘画资产。

6. 深度图控制的高级参数解析

ControlNet 的参数调节是精准控制的关键。除了基本的启用和模型选择,以下几个参数需要深入理解:

6.1 控制模式(Control Mode)

  • Balanced:默认模式,在控制强度和模型创造性之间取得平衡。
  • My prompt is more important:当你的提示词描述与输入图像(深度图)冲突时,优先考虑提示词。
  • ControlNet is more important:优先遵循输入图像(深度图)的结构。当我们想严格保持构图时,应选择此模式。

6.2 控制权重(Control Weight)与引导时机

  • 控制权重:深度图对生成过程的影响强度。1.0是满分。
    • 想严格保持结构(如建筑设计稿转效果图),用1.0或更高(可超过1.0,如1.2)。
    • 只想参考大致构图,给AI更多发挥空间(如风景照片转插画),用0.5-0.8
  • 引导介入/退出时机:控制深度图在生成过程的哪个阶段起作用。
    • Starting Control Step:默认0.0,表示从第一步就开始控制。如果设为0.2,则前20%的步骤AI自由发挥,后面80%才受控制,这有助于在固定结构上产生更丰富的细节。
    • Ending Control Step:默认1.0,表示控制直到最后。如果设为0.8,则控制只在前80%的步骤生效,最后20%步骤AI可以自由“润色”,有时能使画面更自然。

6.3 预处理器分辨率(Preprocessor Resolution)

生成深度图前,会先将输入图像缩放到此分辨率进行处理。提高分辨率(如从512到1024)能获得更精细的深度估计,但消耗更多显存和时间。对于结构复杂的草图,适当提高此值有好处。

6.4 深度图反转(Invert)

有时生成的深度图黑白关系与预期相反(本该近的变远了)。勾选此选项可以反转深度关系,快速修正控制效果。

7. 常见问题与排查指南

在实际操作中,你肯定会遇到各种问题。下表列出了常见现象、原因及解决方案:

问题现象可能原因排查与解决方案
WebUI 无法加载 Flux 模型1. WebUI 版本过旧。
2. 模型文件损坏或放置路径不对。
3. 模型格式不被支持。
1. 更新 WebUI 到最新版本。
2. 检查模型文件是否完整,是否放在models/Stable-diffusion/目录下。
3. 尝试将模型转换为.safetensors格式,或查阅社区关于加载 Flux 的特殊说明。
生成图片全黑或全灰1. 提示词冲突或过于简单。
2. 使用了不兼容的 VAE。
3. 深度图控制权重过高且提示词太弱。
1. 检查并丰富提示词,确保包含明确的主体和风格描述。
2. 在 “Settings” -> “Stable Diffusion” 中,尝试切换或禁用 VAE。
3. 降低 ControlNet 控制权重,或增强提示词。
生成图像结构与原图完全不符1. ControlNet 未正确启用或模型未加载。
2. 生成图像尺寸与输入图/深度图尺寸不匹配。
3. 预处理器生成深度图失败。
1. 确认 ControlNet 单元勾选了“Enable”,且正确选择了深度模型。
2. 确保生成宽高与输入图一致,或等比例。
3. 点击“Preview”查看深度图预览,如果预览图异常,尝试更换预处理器(如从depth_midas换到depth_anything)。
画面模糊、细节粗糙1. 采样步数过低。
2. 提示词缺乏质量标签。
3. Flux 模型可能需要特定的采样器。
1. 逐步增加采样步数(如从20到30、40)。
2. 在提示词开头加入masterpiece, best quality, ultra detailed, 8k
3. 尝试更换采样方法,如DPM++ 2M Karras,Euler a
风格效果不明显1. 从 Krea 复制的风格词权重不够或与其他词冲突。
2. 负面提示词未正确设置。
1. 将风格核心词用括号增强,如(cinematic lighting:1.3)。减少其他可能干扰的风格描述。
2. 加入风格对应的负面词,抑制不想要的风格特征。
显存不足(OOM)1. 同时开启多个高分辨率 ControlNet。
2. 生成分辨率或高清修复分辨率过高。
3. 模型本身显存占用大。
1. 一次只启用一个 ControlNet 单元。
2. 降低生成分辨率,或分步进行(先小图生成,再用图生图放大)。
3. 启用--medvram--lowvram命令行参数启动 WebUI。对于 Flux,关注社区是否有优化方案。

8. 最佳实践与工程化建议

将这套工作流用于实际项目或持续创作时,遵循以下建议可以大幅提升效率和出图稳定性。

8.1 工作流标准化

  1. 建立输入模板:为不同类型的任务(如角色设计、场景概念、产品渲染)创建不同的 WebUI 预设(Presets),保存好常用的分辨率、采样器、步数等基础参数。
  2. 素材预处理:在使用深度图控制前,尽量优化你的输入草图或照片。简单的处理如提高对比度、清理杂点,都能让深度预处理器工作得更好,生成更干净的结构。
  3. 分层控制:对于复杂场景,不要指望单次生成就完美。可以分层处理:先用深度图生成基础场景和光影,固定种子(Seed),再在 img2img 中开启另一个 ControlNet(如 OpenPose 或 Scribble)来添加或修改特定元素(如人物)。

8.2 提示词工程优化

  1. 结构化提示词:将你的提示词分为几个部分,例如:[质量标签] + [主体描述] + [风格词(来自Krea)] + [环境光影] + [细节补充]。这有助于管理和调整。
  2. 使用负面词嵌入:收集一些通用的高质量负面词嵌入模型(Negative Embedding),如EasyNegative,bad-hands-5等,在负面提示词中加载它们,可以一键解决很多常见画面问题(如畸形手、画面脏乱)。
  3. 迭代与记录:使用 WebUI 的“文生图历史”和“图生图历史”功能,保存每次有意义的生成结果及其参数(提示词、种子、步数等)。这是你优化工作流的最佳学习材料。

8.3 资源管理

  1. 模型管理:Flux、SDXL、1.5 等不同架构的模型适用于不同任务。使用模型管理工具或建立清晰的文件夹分类,避免混淆。
  2. 风格库本地化:对于 Krea 等在线风格库,定期将你常用的风格截图或整理成文档本地保存,防止原链接失效或网站改版。
  3. 输出管理:为项目建立规范的文件夹结构,例如项目名/01_input/,项目名/02_depth_maps/,项目名/03_output/,便于版本管理和追溯。

8.4 伦理与版权意识

  1. 尊重原创:使用深度图“洗图”时,如果输入的是他人的摄影或绘画作品,务必注意版权。此技术主要用于个人学习、概念设计或拥有版权的素材创作。
  2. 注明来源:在公开分享使用此流程创作的作品时,如果借鉴了明显的现有作品结构,可考虑予以说明。
  3. 探索原创:最终目标是利用这些工具提升原创效率。尝试从自己拍摄的照片、手绘的草图开始,创造真正属于自己的视觉内容。

Flux.1-schnell、Krea风格库和深度图控制的结合,标志着AI绘画正从“随机性娱乐”走向“可控性生产”。它降低了专业图像创作的门槛,让设计师、插画师甚至普通爱好者都能将脑海中的构图快速可视化。技术的核心不再是复杂的参数魔法,而是对创意工作流的理解和工具的组合运用。掌握这套流程后,你可以继续探索其他控制方式(如线稿、姿态、色彩),并关注 LoRA 等微调技术,进一步实现风格的个性化定制,真正让AI成为你手中强大而驯服的画笔。建议将本文提及的关键步骤和参数设置收藏备用,在下次创作时直接对照实践,相信你会有立竿见影的收获。

← 返回列表