AI · AI绘画
文生图AI是怎么工作的?怎样用好它?
简短回答
文生图AI先把你的提示词编码成数字,再由生成器构建出与之匹配的图片,通常是从随机起点开始一步步去除噪声。你可以通过提示词、图片尺寸、步数、引导强度和种子来控制结果。好的流程是:先快速出很多张小草稿,固定一个种子,优化提示词,再对最满意的一张做编辑和放大。
打开AI 绘画生成器从提示词到图片,中间发生了什么
大多数文生图系统由三部分组成。文本编码器把提示词变成一串捕捉其含义的数字;图像生成器以这些数字为条件创建图片;解码器再把生成器的内部表示转换成真正的像素。
目前最常见的生成器类型是扩散模型(diffusion model)。它从纯随机噪声开始,经过一系列步骤,每一步在文字的引导下预测并去掉一点噪声。潜在扩散模型(latent diffusion model),也就是 Stable Diffusion 背后的这一家族,是在压缩空间而不是全尺寸像素上做这件事,运行成本低得多。另一类系统是自回归的:它们把图片当作一串 token,一个接一个地生成,很像语言模型写文字。例如 Janus-Pro 就是这样工作的。两类模型你用的输入是一样的,所以下面的流程对两者都适用。
- 提示词被切分成 token 并编码。
- 根据种子生成一个随机起点。
- 生成器对这个起点精修固定的步数,每一步都朝提示词靠拢。
- 解码器输出所选尺寸的最终图片。
关键参数
各工具的叫法不同,许多在线服务也隐藏了其中一些。能看到的时候,下面这些值得了解。
| 参数 | 控制什么 | 实用建议 |
|---|---|---|
| 提示词 | 模型要画什么 | 主体在前,然后是场景、风格、光线和镜头。参见图片提示词指南。 |
| 反向提示词 | 模型要避开什么 | 简短而具体:文字、水印、多余的手指。没有具体要排除的就留空。 |
| 尺寸 / 画幅 | 输出的像素和形状 | 使用模型训练时的尺寸。尺寸大得多时主体可能重复;改为事后放大。 |
| 步数(steps) | 精修的轮数 | 步数多会增加细节,但到一定程度后只是白花时间。先用工具的默认值。 |
| 引导强度(CFG scale) | 图片多严格地遵循提示词 | 值低会偏离提示词,值过高会显得生硬或过饱和。从默认值开始。 |
| 种子(seed) | 随机起点 | 同一环境下,相同的种子、提示词和参数会得到几乎一样的图片。调提示词时固定它。 |
| 采样器 / 调度器 | 去除噪声所用的算法 | 对速度和质感有一点影响。要改也最后再改。 |
| 批量数 | 每次运行生成几张 | 一次多生成几张再挑,比一张张重跑更快。 |
引导的原理是在每一步比较两个预测,一个带提示词,一个不带,然后把结果进一步推向两者的差异。所以这个值像是提示词的力度旋钮,调得过高会让一切都被夸大。
从想法到成图的工作流程
- 用一句话写下需求:图片用来做什么、形状(方形帖子、16:9 横幅、9:16 手机壁纸),以及必须呈现的那一件事。
- 起草提示词,包含主体、动作、场景、风格、光线和构图。
- 用随机种子生成一批四到八张小图。看构图,不看细节。
- 挑出最好的一张并记下它的种子。从现在起固定这个种子。
- 每次只改提示词里的一处(光线、镜头、颜色)并对比。种子固定时,差异就来自你改的词。
- 构图满意后,用局部重绘(inpainting)或图生图修补局部问题,而不是从头重新生成。
- 把成图放大到你需要的尺寸,再用原始大小检查脸、手和所有文字。
- 把提示词、种子、模型和参数记在文件旁边,以后就能做变体。
下面是第 5 步的一个小例子。种子不变,每次运行只换光线那一句。
seed 1234
A: a lighthouse on a rocky coast, wide shot, overcast soft light
B: a lighthouse on a rocky coast, wide shot, golden hour, warm rim light
C: a lighthouse on a rocky coast, wide shot, blue hour, lamp glowing因为起始噪声相同,A、B、C 的布局相近,你就能单独比较光线。如果每次都换新种子,比较的就是不同的构图了。
怎么选尺寸和分辨率
每个模型都是围绕特定尺寸训练的。早期的 Stable Diffusion 模型主要用 512×512 像素训练;较新的模型围绕 1024×1024 和几种画幅比例训练。要求的图片比训练尺寸大得多时,常会出现重复的主体,比如两个脑袋或两条地平线,因为模型用它所知道的东西去填充多出来的空间。
更稳妥的做法,是用原生尺寸生成,再用AI放大工具放大。例如,cv.cm 的AI图片生成器用自回归模型在你自己的GPU上生成 384 像素的图,然后可以用 Real-ESRGAN 放大 2 倍或 4 倍。放大工具能锐化边缘和纹理,但无法添加物体,也修不好糟糕的构图,所以先把布局做对。
文生图还做不好的地方
- 图中的文字。字母可能拼错或被编造出来,长句和非拉丁文字尤其严重。文字必须正确时,事后用编辑器添加。
- 手和数量。多指或手指粘连比以前少了,但仍会出现。精确的数量(七只鸟)和空间关系(在左边、在后面)也常常出错。
- 多个不同的人。一个人的特征会串到另一个人身上。分阶段构建场景,或使用参考图。
- 同一个角色出现两次。除非使用参考图、固定的描述词或微调,否则每次新生成都是一个新人。参见一致性角色指南。
- 偏向常见的样貌。没有细节时,模型会退回训练数据里最常见的脸、地点和风格。明确写出年龄、地域、体型和场景。
- 真人、品牌和标志。许多服务会拦截它们;即使工具允许,使用它们也可能带来法律风险。
用在线服务,还是本地模型?
Midjourney、GPT image、Imagen,或者在线的 Stable Diffusion 和 FLUX 服务这类在线工具上手容易,运行的也是大模型,但你的提示词要发送到服务器,并受其内容规则和条款约束。本地工具则在你自己的GPU上运行模型:数据不会离开你的设备,每个参数都看得见,但模型必须装得进显存,通常也更小。
| 问题 | 在线服务 | 本地或浏览器内模型 |
|---|---|---|
| 隐私 | 提示词和图片会发给服务商 | 留在你的设备上 |
| 图片质量 | 通常模型更大、更强 | 模型较小;取决于你的硬件 |
| 可控性 | 部分参数被隐藏 | 所有参数可见 |
| 成本 | 免费额度或订阅 | 下载后免费;消耗你的电力和GPU |
常见问题
文生图AI就是扩散模型吗?
不一定。目前扩散是最常见的方法,但也有一些文生图模型是自回归的,把图片当作一串 token 来生成。两种用法是一样的。
为什么同一条提示词每次生成的图都不一样?
每次运行都从种子决定的新随机噪声开始。固定种子,再配上相同的模型和参数,就能再次得到相同或非常相近的图片。
CFG 或引导强度应该设多少?
先用工具的默认值。如果图片忽略了提示词的某些部分就稍微调高一点;如果颜色显得生硬或细节过度处理就调低。
AI生成的图片可以商用吗?
取决于工具的条款和你所在地的法律。许多服务允许商用,但在一些国家,纯AI生成的图片受到的版权保护有限。请查看条款和版权指南。
为什么AI图片经常是方形的,而且很小?
模型是在特定尺寸上训练的,生成大图要消耗大量显存和时间。先用原生尺寸生成,再用AI放大工具得到最终分辨率。