Skip to main content
「你们的 prompt 长度和 ChatGPT 不一样,好像限了 32K」。这个 32K 不是 API易 加的,是 OpenAI Images API 的官方上限,而且按字符计不按 token。但真正值得讨论的不是「能不能塞 32K」,而是该不该把 32K 资料原样塞给图片模型。本文讲清上限从哪来、网页版为什么看起来没有限制、长提示词的两笔账,以及广告图这类「要求很多」的场景该怎么组织提示词。

客户的问题:为什么 API 限 32K,ChatGPT 不限

对话原样(已脱敏):
客户:你们的 prompt 长度和 ChatGPT 不一样,好像限了 32K。 我们:是有限制的。谁会有 32K 输入提示词的出图场景? 客户:肯定有呀,广告图,包装的尺寸……自己 call codex cli 算了。 我们:确认是 32000 个 tokens 的提示词吗? 客户:是呀,32000 英文其实不长呀。
这几句话里混了三个概念,先拆开: 客户说「32000 英文其实不长」,说的是字符数,这个判断本身没错。但他拿来对比的 ChatGPT 网页版,走的根本不是同一条链路。

32K 上限从哪来

OpenAI Images API 对 prompt 字段的官方上限(/v1/images/generations/v1/images/edits 相同): 出处:OpenAI API 参考 developers.openai.com/api/reference/resources/images/methods/generate
API易 官转链路不在这个上限之上再收紧。超过 32,000 字符由原厂返回 400,报错原文以原厂为准,本页未做逐字节的边界实测;要精确到哪一个字符开始报错,用你自己的 Key 试一次即可,被拒的请求不计费。
字符不等于 token。计费和模型理解都按 token 走,usage.input_tokens_details.text_tokens 是每次调用实际消耗的文本 token 数。同样 32,000 字符,英文约 8K tokens,中文因为每个字符对应的 token 更多,会明显高于这个数,装的信息量也更大。所以「32K 英文不长」和「32K 中文很长」可以同时成立。

为什么 ChatGPT 网页版「没有限制」

如何生成满意的图片内容安全排查篇 讲的是同一件事:网页版是 Agent,API 是单次原子调用
  • 在 ChatGPT 里贴一份很长的资料,读它的是对话模型,不是图片模型。对话模型读完后自己写一条短的出图提示词去调用图片工具,图片模型拿到的从来不是那份原始资料。粘贴超过 10,000 字符时网页版还会自动转成附件(OpenAI 帮助中心 help.openai.com),更说明那是给对话模型看的。
  • API 是你直接对图片模型说话,中间没有人替你读资料、做取舍。上限是图片模型这一层的上限,网页版从来没有让图片模型直面这个上限。
  • 客户最后说「自己 call codex cli 算了」,这个直觉是对的:让一个文本模型先读资料,再产出出图提示词,正是网页版在后台做的事。下文把它写成可以跑的两段式。

长提示词的两笔账

先算钱,再算效果。 :gpt-image 系列的文本输入按 token 计费(gpt-image-2.5 为 $5.00 / 百万 tokens,见 概览定价表)。一条 32,000 英文字符的提示词约 8K tokens,单次约 $0.04;中文 token 更多,费用更高。这个数单看不大,量产要乘张数,而且每一次重试都会再付一遍。提示词里 90% 是原始资料而不是画面描述时,这笔钱大部分是白花的。 效果:更多细节不等于更高遵循度。几百条要求同时摆在图片模型面前时会互相竞争,真正重要的硬约束(Logo 不变形、包装文字准确、人物数量)反而容易被埋没。OpenAI 自己对出图提示词的建议是 1~3 句清晰描述起步,再补必要的构图、光线和硬性约束(openai.com/academy/image-generation)。图片模型需要的是优先级明确的信息密度,不是字数。 所以「专业广告要求多」是对的,但细不等于长出图进阶篇 的六要素和 提示词诊断技能 里「不要堆形容词把提示词写长」讲的都是这一条。

两段式:资料进文本模型,提示词进图片模型

真有 32K 的东西要交给出图,它多半是品牌手册、包装规格、广告 brief、角色设定库。这类资料应该先进文本模型,由它提炼成一条高密度提示词,再进图片模型: 提炼层的输出模板,在六要素之外加上广告图特有的三项:
1

把资料原样交给文本模型

品牌手册、规格表、brief 不用预处理,文本模型的上下文足够大。system prompt 里写清输出模板、字符上限(建议 2,500 字符以内)和「硬约束放最前」。
2

拿到提示词先过长度闸门

检查 len(prompt),超过 32,000 就让文本模型再压缩一轮。正常情况下提炼结果只有一两千字符,这一步是防御。
3

提示词落库,再调图片模型

提炼结果存下来,出图只重放这条提示词。重试、换尺寸、换模型都不需要重新读资料,也不会再为资料付 token。
4

资料变了只重跑第一段

包装改版、brief 更新时重跑提炼,出图这一段的代码和参数不动。
最小实现(OpenAI SDK,两段共用一个 Key):
提炼结果和出图参数一起存档,是这条产品线上唯一可靠的复现方式(GPT-Image 系列不暴露 seed),详见 出图进阶篇 第五节。

什么时候真的需要长提示词

有几类场景提示词确实会长一些,但都远够不到 32K:
  • 多图编辑:用「图1 / 图2 / 图3」逐一指代参考图,说明各取什么,几百字。
  • 画面内文字:招牌、海报、包装上的文字要逐字给出,别让模型编,几十到几百字。
  • 系列图的固定前缀:同一批图共用的风格、光线、构图段落,一千字以内。
这些加起来通常也就两三千字符。提示词真的逼近 32K,先怀疑是不是把资料塞进去了。

速查总结

  • 32,000 字符是 OpenAI Images API 的官方上限,按字符不按 token,/generations/edits 相同,API易 官转不额外收紧。
  • 字符、token、上下文窗口是三件事:32K 英文约 8K tokens,中文更多;文本模型的上下文窗口和图片模型的提示词上限无关。
  • 网页版没有限制是错觉:对话模型先读资料、再自己写短提示词调图片工具,图片模型从没直面那 32K。
  • 细不等于长:文本输入按 token 计费且每次重试再付一遍;几百条要求互相竞争,硬约束反而被埋。
  • 两段式:资料进文本模型提炼成 1K~3K 字符的结构化提示词,硬约束放最前,落库后只重放提示词出图。

相关文档