你出了一张海报、一张产品 mockup 或一张 UI 截图,构图、灯光都到位——但标题写成了 “DSCONUT” 或 “Sumemr Sael”。对大多数扩散模型来说,文字不是一等公民,字母只是模型近似出来的纹理。修复几乎从来不是”再调一遍 prompt”,而是给文字部分挑对模型、对文字区域 mask 重画,文字一直崩就退回到合成真字体——别在那一张图上耗超过 5 分钟。
常见原因
按实际根因命中率排序。
1. 模型本身就不擅长文字(常见根因)
SD 1.5、SDXL 原版和老 Midjourney 把字母当成视觉噪点,prompt 写得再好,连续 4-6 个字母正确就算极限了。Flux.1、Ideogram 2、Imagen 3、DALL-E 3 训练时考虑过文字,短字符串就稳得多。
如何判断:看你用的模型。SDXL / SD 1.5 / 老 Midjourney,根因就是模型,换比硬怼快。
2. 文字字符串太长
支持文字的模型也只擅长 15-20 字符以内。“SUMMER SALE 2026” 这种横幅没问题,整段营销文案就别想了。
3. 文字区域在画面里占的像素太少
像素预算这事儿和脸是一样的。字母每个字至少要 32-48 像素高才能看清。小徽章、页脚行被压缩后就崩了。
4. 要求了风格化字体
“羊皮纸上的手写花体”、“喷漆涂鸦字母”——这些把模型推到训练数据稀疏的区间。支持文字的模型默认也只擅长粗黑体,离开默认就掉链子。
5. 一张图里有多段文字
海报同时有大标题、副标题、tagline,模型要正确画三段独立文字。单段命中 95% 的模型,三段一起就跌到 30%。
6. 非拉丁文字
大多数模型主要训练英语。CJK、阿拉伯、西里尔、天城文,甚至带重音的拉丁字母(德语 umlaut、法语重音)都比纯 ASCII 崩得早得多。
动手前先确认
- 把出问题那张图的 seed、完整 prompt、模型、档位都存下来。
- 想清楚是不是非得让 AI 出文字。商业设计稿,Figma / Photoshop 里合成真字体几乎一直是更快、更准的选择。
- 数 prompt 里有多少字符、多少段独立文字,标清哪些必须正确、哪些是装饰性的。
- 同 prompt 不同 seed 出 4 张。4 张崩 1 张是噪声;4 张全崩是 prompt 或模型层面的问题。
需要收集的信息
- 完整 prompt、模型名、版本、档位。
- 把乱码区域 100% 裁出来。
- 同模型最近几张图是不是都这样崩文字。
- 用途(印刷、网页 hero、社交卡片)——印刷对准确度要求最高。
- 总字符数和独立文字段数。
一步步修复
按 ROI 排序。
Step 1:换成支持文字的模型再出这一档
在 SDXL 或老 Midjourney 上的话,最大幅度的动作是直接换到训练时考虑过文字的模型:
- Ideogram 2:当前对短标题、多段文字、基础排版风格最稳。
- Flux.1(Pro / Dev):单行标题非常强,多段堆叠时弱一些。
- DALL-E 3(走 ChatGPT 或 API):10-20 字符串稳。
- Imagen 3:招牌、徽章、标签类强。
主流水线哪怕仍在 SDXL 或 Midjourney 上,文字密集的部分就单独到这几个里出。
Step 2:把文字砍短、简化
标题砍到 15 字符以内,能去标点就去。强制全大写——大写字形比小写好画。去掉重音和特殊字符,合成那一步再加回来。
Step 3:在画面里给文字区域更多像素
文字必须在画里:
- 海报换成竖比例,让标题获得更多纵向像素。
- 产品 mockup 拉近到 label 上。
- UI 截图直接提高基础分辨率。
Step 4:对文字区域 mask 重画
构图锁死、但文字写错:不要整张重出。
- SDXL / A1111:对文字区域走 img2img inpaint,denoising 0.6-0.8,prompt 只聚焦文字本身。
- ComfyUI:用 inpaint 工作流 + 手画矩形 mask 罩住文字。
- Midjourney:Vary (Region),把文字区域涂出来,prompt 改写聚焦文字内容。
- Photoshop:对文字区域用 Generative Fill,prompt 只写目标字符串。
Step 5:合成真字体作为最后退路
按 1-4 走完文字还是不行,停手别再硬怼。让模型出”没有文字”的图(或用占位矩形),再到 Figma / Photoshop / Affinity 里加真字体。这本就是任何对文字准确度有要求的设计稿的标准生产流程,多花 30 秒,省 30 分钟。
清晰的交接步骤:
- 在 AI prompt 里把文字字符串换成”blank rectangular label” 或 “empty banner”。
- 出一张有占位区域的图。
- 进设计工具,在占位上叠真字体图层。
- 如果标签在 3D 表面上,用变形 / warp 对透视。
怎么确认已经修好
- 在 100% 缩放下逐字符读每段文字。拼写错和漏字在适应屏幕缩放下很容易看漏。
- 找别人朗读一遍。看自己写的文案有盲点是真的。
- 多段文字布局,每一段单独检查。
- 印刷件就按交付尺寸打样。屏幕上看着没事,印出来字母可能就散了。
长期预防
- 任何对文字准确度有要求的项目,默认走合成真字体。AI 出图自带文字只用在情绪板和概念稿。
- 维护一个模型偏好表:文字重的活给 Ideogram 或 Flux;文字轻的可以留在 Midjourney 或 SDXL 上。
- 标题默认短 + 大写。
- 准备一段”空白 label”的 prompt 模板,让模型主动不出文字,方便后续合成。
- 多语言项目,模型对非拉丁文字几乎从来不要相信,全部走合成。
常见坑
- 同 prompt 重摇 20 次等着出对的文字。4 次还崩就换模型或上合成。
- 缩略图上看着没问题,必须 100% 缩放检查。
- 忘了自己输入法可能把单词改了。
- 在正向 prompt 里加 “high quality typography” 期待奇迹。对结构性弱的文字模型基本没用。
FAQ
Q:多段文字的海报哪个模型最好? A:Ideogram 2 当前对多段排版最稳。Flux.1 单行标题接近,但三段以上明显弱一档。
Q:能不能强制模型用某个具体字体? A:不可靠。你可以描述风格(粗黑体、衬线大标题)拿到近似,精确字体匹配只能通过合成做到。
Q:为什么小尺寸下文字崩得更厉害? A:像素预算。每个字符需要约 32-48 像素的纵向高度才能可读,小文字直接掉到这条线以下。
Q:有没有一个负面 prompt 能修好乱码?
A:把 garbled text, misspellings, malformed letters 写进负面 prompt 在 SDXL 上能稍微改善,但解决不了底层训练缺口。要明显改善还是换模型。