gpt-image-2 发布第一天,我用它替换了文章配图的整套流程

10 阅读7分钟

OpenAI 昨天(4月21日)发布了 gpt-image-2,中文文字渲染准确率据说到了 99%。我之前的文章配图一直用 HTML 写信息图 → Playwright 截图的土办法。今天花了一下午实测:gpt-image-2 能不能把这套笨重流程干掉?

我之前怎么做文章配图的

先说痛点。我每天写一篇技术文章,每篇需要 1 张封面图 + 2-3 张内容插图。

之前的流程是这样的:

  1. 手写一段 HTML + CSS(信息图、数据可视化、架构图)
  2. 用 Playwright 截图保存为 PNG
  3. sips 压缩成 JPEG

听起来能跑,但实际操作很痛苦:

<!-- 这是一张"封面图"的代码量 -->
<!DOCTYPE html>
<html><head><style>
  body { width:1200px; height:600px; background:linear-gradient(...); }
  .title { font-size:40px; font-weight:800; ... }
  .badge { display:inline-flex; ... }
  .card { background:rgba(255,255,255,0.04); border-radius:16px; ... }
  /* 还有 50-80 行 CSS */
</style></head>
<body>
  <!-- 20-30 行 HTML 结构 -->
</body></html>

一张封面图要写 100 行 HTML/CSS。调配色、调布局、调字号,搞完半小时过去了。文章本身才花一小时,配图的时间接近文章的一半。

而且效果还很有限——你能做的只有 CSS 能做的:纯色背景、渐变、简单的卡片布局。想要一点点质感、光影、插画风格?做不到。

gpt-image-2 能做什么

gpt-image-2 是 OpenAI 4 月 21 日发布的图像生成模型。对我来说最关键的三个特性:

  1. 中文文字渲染准确率 99%——之前的 AI 生图模型中文全是乱码
  2. 2K 分辨率输出——够用了,不需要后期放大
  3. API 可调用——能集成到自动化流程里

通过 API 调用:

from openai import OpenAI

client = OpenAI(api_key="your-key")

result = client.images.generate(
    model="gpt-image-2",
    prompt="技术博客封面图:深色背景,左侧大标题'AI Agent 为什么越聊越蠢',右侧一个从绿到红的柱状图,8根柱子高度递减,风格简洁专业",
    size="1536x1024",
    quality="high"
)

定价(按质量分三档):

分辨率lowmediumhigh
1024×1024$0.006$0.053$0.211
1536×1024$0.009$0.080$0.317

一张 high 质量的封面图 $0.317,约 2 块钱人民币。

实测:5 张封面图对比

我拿最近写的 5 篇文章的封面图做对比。同一个需求,分别用旧流程(HTML+Playwright)和 gpt-image-2 生成。

测试 1:数据可视化封面

需求:AI Agent 回答质量随对话轮次下降的柱状图

HTML 方案:写了 120 行 HTML/CSS,8 根渐变色柱子,精确控制每根的高度百分比。耗时 25 分钟。效果精确但"平"——纯 CSS 做的柱状图就是方块加渐变,看着像 PPT。

gpt-image-2 方案:

prompt = """技术博客封面图,16:9 比例,深色科技风背景。
左侧:大标题 'AI Agent 为什么越聊越蠢',白色字,下方小字 '2000 轮对话实测'。
右侧:8 根竖柱状图,从左到右高度递减(4.6, 4.4, 4.1, 3.5, 3.2, 2.9, 2.7, 2.3),
颜色从绿色渐变到红色。柱子下方标注 R1-R8。
右下角标注 '质量衰减 50%+'。
整体风格:干净专业,有科技感的光晕效果。"""

耗时 15 秒。出来的图有光晕、有景深、有质感——HTML/CSS 根本做不到的视觉层次。

中文标题"AI Agent 为什么越聊越蠢"完全准确,没有一个字错。这是之前任何 AI 生图模型都做不到的。

但——柱子的高度不准确。我指定了 4.6, 4.4, 4.1, 3.5 这样的精确数值,实际生成的柱子高度只是"大致递减",比例并不精确。数字标注(R1-R8)倒是对了。

测试 2:架构流程图

需求:MCP Server 的工作流程(用户→Claude Code→MCP→数据库)

HTML 方案:用 flexbox 做了个从左到右的箭头流程。耗时 20 分钟。清晰但极简。

gpt-image-2 方案:生成了一个有图标、有连线、有渐变底色的流程图。视觉效果好很多。但"Claude Code"这个文字里的空格变成了奇怪的间距,"MCP"三个字母倒是清晰。

测试 3-5 汇总

封面类型HTML 耗时gpt-image-2 耗时中文准确率数据精确度视觉质量
数据柱状图25 min15 sec100%60%(高度不准)gpt-image-2 胜
架构流程图20 min12 sec95%(空格问题)N/Agpt-image-2 胜
对比表格风格15 min10 sec100%80%(列对齐偏)平手
品牌+标语10 min8 sec100%N/Agpt-image-2 胜
代码编辑器截图30 min18 sec90%(代码有误)N/A平手

核心发现:两套方案各有死穴

做完 5 组对比之后,结论不是"谁替代谁",而是它们擅长完全不同的事

gpt-image-2 的优势

维度数据
生成速度8-18 秒 vs 10-30 分钟
视觉质量有光影、质感、层次感,CSS 做不到
中文渲染标题级中文 99% 准确
成本$0.05-0.32/张

结论:适合生成"氛围型"封面——标题 + 视觉风格 + 品牌感。 不需要精确数据的场景,gpt-image-2 完胜。

gpt-image-2 的死穴

1. 数据精确度不可控。 你指定"柱子高度分别是 95%, 91%, 84%, 72%",它画出来的只是"大致递减"。如果你的封面图里有具体数字需要精确对应视觉元素(比如柱状图、折线图),gpt-image-2 做不到。

2. 代码渲染有错误。 让它画一个代码编辑器截图,代码块里的内容有语法错误、缩进不对。用来做"装饰性的代码背景"可以,用来展示真实代码不行。

3. 布局不可精确控制。 你无法指定"标题距左边 55px,字号 40px"。它会给你一个大致合理的布局,但像素级的精确控制做不到。

HTML+Playwright 的不可替代场景

场景为什么 gpt-image-2 不行
数据可视化(精确柱状图/折线图)高度/比例必须精确
真实代码展示代码内容必须零错误
像素级对齐的 UI 截图间距/字号必须精确
需要和文章数据严格一致的图图里的数字必须和正文匹配

我最终采用的混合方案

两套都用,按场景分工:

def choose_image_method(image_type):
    """根据图片类型选择生成方式"""
    
    # 需要精确数据的 → HTML+Playwright
    if image_type in ["data_chart", "code_screenshot", "precise_table"]:
        return "html_playwright"
    
    # 氛围/品牌/概念型 → gpt-image-2
    if image_type in ["cover", "concept", "brand", "architecture_overview"]:
        return "gpt_image_2"
    
    # 默认走 gpt-image-2(更快)
    return "gpt_image_2"

实际操作:

图片类型方案原因
文章封面(标题+氛围)gpt-image-2速度快、质感好、中文准确
数据对比图(精确柱状图)HTML+Playwright柱子高度必须精确
架构概念图(粗略流程)gpt-image-2视觉质量高、不需要精确
代码截图(真实代码)HTML+Playwright代码必须零错误

封面图以后全用 gpt-image-2。从写 100 行 HTML 到写一段 prompt,速度从 20 分钟降到 15 秒。正文里需要精确数据的插图继续用 HTML 方案。

集成到自动化流程

我把 gpt-image-2 接到了写文章的工具链里。因为我平时用 API 网关调语言模型,发现它第一时间就上了 gpt-image-2 的支持,同一个 Key 文本和图片都能调,不用单独去 OpenAI 申请图片 API 的配额。

from openai import OpenAI

# 同一个 client,既能调文本模型也能调 gpt-image-2
client = OpenAI(
    base_url="https://api.therouter.ai/v1",
    api_key="your-key"
)

def generate_cover(title, subtitle, style="dark tech"):
    """一行代码生成封面图"""
    result = client.images.generate(
        model="gpt-image-2",
        prompt=f"""技术博客封面图,16:9 比例,{style}风格。
大标题:'{title}'
副标题:'{subtitle}'
整体风格:干净专业,有科技感""",
        size="1536x1024",
        quality="high"
    )
    return result.data[0].url

# 同一个 client 调文本模型
chat = client.chat.completions.create(
    model="deepseek/deepseek-v3",
    messages=[{"role": "user", "content": "帮我写个封面图的 prompt"}]
)

之前生成一张封面图 20 分钟 + 100 行代码。现在 15 秒 + 5 行代码。而且文本模型和图片模型走同一个 Key、同一个账单,不用管两套计费。

prompt 写法的几个坑

测了一下午,总结几条 gpt-image-2 prompt 的注意事项:

1. 中文标题要用引号括起来。

❌ 大标题是 AI Agent 的上下文管理
✅ 大标题:'AI Agent 的上下文管理'

不加引号的话模型偶尔会"创意发挥"改你的标题。加了引号准确率接近 100%。

2. 数字不要指望精确渲染到图形上。

❌ 画一个柱状图,8 根柱子高度分别是 95%, 91%, 84%, 72%, 61%, 53%
✅ 画一个柱状图,8 根柱子从左到右高度递减,最高的大约是最矮的 2

给精确数字它也画不准。给比例关系("递减""大约 2 倍")反而更符合预期。

3. 指定"不要加的元素"很重要。

✅ 不要出现人物、不要有手、不要有 watermark、不要有渐变彩虹色

不说的话它偶尔会加一些你不想要的装饰元素。

4. 风格参考比抽象描述有效。

❌ 风格简洁专业
✅ 风格类似 Vercel 官网的暗色设计,深蓝黑背景,紫色和青色的微光效果

成本核算

以我每天 1 篇文章(1 封面 + 2 插图)计算:

方案每日成本每日耗时月成本
纯 HTML+Playwright$045 min$0
纯 gpt-image-2 (high)$0.951 min$28.50
混合方案(封面 AI + 插图 HTML)$0.3215 min$9.60

混合方案每月多花 $9.60(约 70 块),但每天省 30 分钟。一个月省 15 小时。这个交换对我来说非常值得。

常见问题

Q: gpt-image-2 的中文渲染真的到 99% 了吗? A: 标题级别的大字(10 字以内)确实接近 99%。但小字、密集排版(比如模拟一整页中文文档)的准确率明显下降,我测到大约 85-90%。目前适合做标题和短语,不适合做整段文字的排版。

Q: 能替代 Figma/Canva 做正式的设计稿吗? A: 不能。gpt-image-2 生成的是"图片"不是"可编辑的设计文件"。你无法修改里面的某个元素。它适合一次性生成的配图,不适合需要反复修改的设计稿。

Q: API 调用有速率限制吗? A: 有。目前免费版每分钟限制较低,Plus/Pro 用户限制更宽松。批量生成图片建议加延迟或者走 API 网关做限流控制。