TellWorldAI 世界档案
问档案English

首页›实践›实践

实践

批量 AI 配图:生成、缩放、查字

做一组风格统一的 AI 配图:用共享的风格串写提示词,缩放并转成小体积 WebP,再用苹果的 Vision 框架检查图里有没有混入的文字。读完能照着搭出自己的配图流水线。

这篇适合谁,读完能做到什么

适合需要一组看起来像同一系列的插图,并且想要一条能反复使用的路径、从文字提示走到小体积网络图片的人。读完你应该能维护自己的提示词文件,用 sips 和 cwebp 做转换,用苹果的 Vision 框架写一个查图中文字的小程序,并明白上传顺序为什么重要。

这条流水线是什么

我们的流程有五步:提示词文件、生成图片、缩放并转为 WebP、检查文字、上传。其中检查文字是不常见的一步。提示词里已经禁止出现文字,但模型仍可能在图里写出字母。我们用一个基于苹果 Vision 框架的小型 Swift 程序检查每张图,有字的图会被重新绘制。[1]Vision 的文字识别请求 VNRecognizeTextRequest 文档中的说明是「在图像中查找并识别文字的图像分析请求」,可用于 macOS 10.15 及以上,以及 iOS 13.0。[2]

转 WebP 这一步是因为原图太大。2026 年 11 月 13 日,约 1.8 MB 的 PNG 文件被转成了 36 到 49 KB 的 WebP 文件。[1]WebP 是面向网络的图片格式,同时提供无损和有损压缩。官方说明中,无损 WebP 比 PNG 小 26%,有损 WebP 在同等 SSIM 质量指标下比可比的 JPEG 小 25-34%。[14]

准备

需要 cwebp 编码器。libwebp 软件包包含库以及命令行工具 cwebp 和 dwebp;Linux、Windows 或 macOS 上也可以下载预编译好的 cwebp。[18][14]缩放用的是 sips。

Vision 是苹果的框架。我们使用的 VNRecognizeTextRequest 通过 VNImageRequestHandler 运行,后者负责处理针对同一张图片的一个或多个请求。[11]

上手步骤

  1. 把每个事件的画面描述写进 content/media/prompts.json,每个事件一个对象,包含 subject、alt_en、alt_zh 和 source 字段。[1]
  1. 给每条提示词都加上同一段风格串。这是封面看起来像一个系列的原因。风格串是 "conceptual 3D render, soft studio lighting, matte materials, dark navy background with cool cyan rim light, minimal composition, shallow depth of field"。[1]
  1. 加上禁止项:提示词禁止出现文字、字母、数字、商标、人脸和旗帜。[1]
  1. 按提示生成图片,然后用 sips -z 720 1280 缩放到 720×1280,再用 cwebp -quiet -q 80 转换。[1]cwebp 手册给出的示例调用如下,可以看出选项的写法:[13]
cwebp -q 50 -lossless picture.png -o picture_lossless.webp
cwebp -q 70 picture_with_alpha.png -o picture_with_alpha.webp
cwebp -sns 70 -f 50 -size 60000 picture.png -o picture.webp
cwebp -o picture.webp -- ---picture.png
  1. 检查图里有没有字。写一个小型 Swift 程序,对每张图运行 VNRecognizeTextRequest。几个属性决定检查的方式:recognitionLevel 设为 VNRequestTextRecognitionLevel.fast 时优先速度,设为 VNRequestTextRecognitionLevel.accurate 则用于更长、计算量更大的识别。[3]usesLanguageCorrection 为 true 时会做语言纠错;设为 false 则返回原始结果,速度更快,但准确性更低。[4]minimumTextHeight 相对于图片高度计算,默认值是 0.03125,即 1/32。[5]
  1. 先把图片上传到对象存储,再登记到生产数据库。[1]
  1. 选出需要配图的条目。只为重要度 4 及以上、还没有封面的新闻事件配图,每次导入后用一条数据库查询找出它们。[1]

我们的做法

我们只给需要封面的事件配图。查询在每次导入之后运行,所以列表总是最新的。[1]所有提示词使用同一段风格串,正是这一点让封面看起来像一个系列。[1]到 2026 年 11 月 13 日,媒体库里有 642 张 AI 生成图和 25 张照片。[1]

我们先上传,再登记。2026 年 11 月 8 日,顺序曾经反过来,线上网站有一段时间显示破图。从那以后,图片先进对象存储,数据库记录后写入。[1]

我们选的尺寸是 720×1280,输出为质量 80 的 WebP,就是上面那两条命令的结果。[1]这些是我们网站的选择,不是对所有配图的通用标准。

限制和常见问题

  • usesLanguageCorrection 为 false 时,customWords 会被忽略。开启纠错时,customWords 优先于标准词典。[8]
  • automaticallyDetectsLanguage 在 iOS 16.0、iPadOS 16.0、macOS 13.0、tvOS 16.0 和 visionOS 1.0 上可用,用于决定是否检测语言,以便使用合适的识别模型。[7]
  • recognitionLanguages 接受 ISO 语言代码,顺序即优先级。[6]supportedRecognitionLanguages() 返回请求支持的语言标识符。[9]
  • 小于 minimumTextHeight 的文字会被忽略。调大这个值可以减少内存占用、加快识别,代价是漏掉小字。[5]
  • perform(_:) 在所有请求完成或失败后才返回,所以要逐个检查每个请求的成功或失败。[12]
  • WebP 的最大尺寸是 16383 x 16383 像素。[15]有损 WebP 只处理 8 位 Y'CbCr 4:2:0 图像,无损 WebP 只处理 RGBA。[15]
  • 从有损源转换后,如果文件大小一直超出预期,就降低质量。FAQ 还建议用 -size 指定目标大小来代替质量设置,并写道「targeting 80% of the original file size might prove more robust」。[15]
  • cwebp 不支持动画 PNG 或动画 WebP 作为输入。[13]
  • -preset 应放在参数的最前面,因为它会覆盖其他参数的值,只有 -q 例外。[13]
  • Vision 只负责读文字,判断一张图是不是好的配图仍然要靠人。

下一步

先读 Vision 的 VNRecognizeTextRequest 文档[2]和 cwebp 手册。[13]要了解格式本身,读 WebP 的 FAQ。[15]先用一张图跑通,肉眼看一遍,再让整组图都经过同一个脚本。

来源

  1. 1
  2. 2
    VNRecognizeTextRequestApple Developer Documentation
  3. 3
    recognitionLevelApple Developer Documentation
  4. 4
    usesLanguageCorrectionApple Developer Documentation
  5. 5
    minimumTextHeightApple Developer Documentation
  6. 6
    recognitionLanguagesApple Developer Documentation
  7. 7
    automaticallyDetectsLanguageApple Developer Documentation
  8. 8
    customWordsApple Developer Documentation
  9. 9
    supportedRecognitionLanguages()Apple Developer Documentation
  10. 10
    VNRecognizedTextObservationApple Developer Documentation
  11. 11
    VNImageRequestHandlerApple Developer Documentation
  12. 12
    perform(_:)Apple Developer Documentation
  13. 13
    cwebpGoogle for Developers
  14. 14
    An image format for the WebGoogle for Developers
  15. 15
    WebP FAQGoogle for Developers
  16. 16
  17. 17
    WebP API DocumentationGoogle for Developers
  18. 18
    libwebp READMEwebmproject/libwebp

引用本页: 批量 AI 配图:生成、缩放、查字. TellWorld, https://www.tellworld.net/zh/practice/practice-ai-image-batch. 更新于 2026-11-14

相关动态