简短回答
当接口返回finishReason: NO_IMAGE 且 parts 为 null 时,通常表示模型处理了请求,但没有返回图片内容。
这不一定代表提示词触发了内容安全审核。对于“什么是 GEO”“请介绍一下某个概念”这类更像文本问答的提示词,模型可能无法确认用户是否明确要求生成图片,因此直接返回 NO_IMAGE。
建议在提示词开头明确说明要生成什么图片,并补充画面主体、布局、风格和输出要求。
另一类高频原因是提示词在要求模型写文字,比如「生成设计方案」「请确保分析内容深入」。在只允许输出图片的调用里,这类请求会以一定概率返回 NO_IMAGE,同一个请求时好时坏。见下文「提示词在要求模型输出文字」。
如果响应里没有
candidates,而是出现了 promptFeedback.blockReason(例如 OTHER),那是另一类问题:输入内容在生成前就被原厂拦截了。请看 Gemini 出图返回 blockReason: OTHER 怎么办?为什么会返回 NO_IMAGE?
1. 提示词更像文本问答
例如:- 要生成什么类型的图片;
- 画面中应该出现哪些元素;
- 信息应该如何排版;
- 是否只需要图片,不需要文字解释。
2. 图片生成意图不够明确
某些平台工具会自动在用户输入前添加“生成图片:”等提示词。但通过 API 调用时,平台通常只是透明转发请求,不一定会自动补充完整的图像生成意图。 因此,不建议只写:3. 输入内容缺少视觉描述
如果提示词只有概念解释,模型不知道应该把内容转换成什么画面。建议补充以下信息:- 图片类型:信息图、海报、流程图或宣传图;
- 画面结构:三栏布局、时间轴或中心辐射结构;
- 视觉风格:科技风、商务风、简约风或品牌风;
- 文字要求:标题、编号、正文和排版层级;
- 输出要求:仅生成图片,不要返回文字解释。
4. 提示词在要求模型输出文字
Gemini 图片模型同时具备看图和写文字的能力。如果提示词里有要求文字产出的句子,模型会以一定概率「先写方案」而不是直接出图:responseModalities: ["IMAGE"]),模型想写的方案无法输出,响应就变成 finishReason: NO_IMAGE、parts: null、输出 token 为 0。
我们对一个真实的鞋款设计请求(3 张参考图 + 上面这类提示词)做过复测(2026-09 (UTC+8),gemini-3.1-flash-image,responseModalities: ["IMAGE"]):
所以同一个请求会「连续失败几次又成功」,而渠道本身没有任何变化。最简单的修法是在提示词末尾加一句:
responseModalities 不同,表现也不同
同一个「意图不明确」的请求,在不同的responseModalities 设置下表现不一样:
排查技巧:把出问题的请求去掉
responseModalities 再发几次,看没出图时模型写的是什么:
- 写的是一篇方案、分析,或者一段出图提示词 → 意图不明确,按本页的方法改提示词
- 写的是「无法生成」这类拒绝说明 → 触发了内容审核,参考 Nano Banana 系列出图失败
GEO 提示词示例
可以将原始提示词改写为:如何排查 NO_IMAGE?
1
第一步:先分清失败信号在哪个字段
candidates[0].finishReason 为 NO_IMAGE,属于本页讨论的情况。如果没有 candidates,而 promptFeedback.blockReason 有值,说明输入在生成前就被拦截了,请看 blockReason: OTHER 排查。2
第二步:确认响应中是否有图片内容
检查响应中的
parts、inlineData、image 或等效图片字段。如果 parts 为 null,通常表示本次响应没有返回图片内容。3
第三步:检查提示词是否明确要求生成图片
确认提示词中包含“生成一张图片”“制作一张海报”或“create an image”等明确指令,不要只提交“什么是……”或“请解释……”这类文本问题。同时检查有没有「生成方案」「深入分析」「给出说明」这类要求文字产出的句子,有的话删掉,或在末尾追加「只输出图片」。
4
第四步:再排查内容安全因素
如果已经明确要求生成图片,但仍然返回
NO_IMAGE,再检查是否涉及 NSFW、未成年人、知名 IP、去水印、真实人物肖像或其他上游安全策略。5
第五步:查看调用日志
检查调用日志中的完整响应、模型名称、request ID 和消费记录。
usageMetadata 表示模型处理过请求,但不能单独证明图片已经生成,也不能单独判断是否触发了安全拦截。NO_IMAGE 和内容安全拦截有什么区别?
finishReason: NO_IMAGE 只能说明本次没有返回图片,不能仅凭这个字段断定一定是内容违规。需要结合完整错误消息、提示词内容和调用日志一起判断。常见问题
提示词中加上“生成图片”就一定能解决吗?
提示词中加上“生成图片”就一定能解决吗?
不一定。“生成图片”只能表达基本意图,建议同时说明图片类型、主体、构图、风格和输出要求。对于抽象概念,最好明确要求生成信息图、海报或流程图。
GEO 这个主题是不是被内容安全拦截了?
GEO 这个主题是不是被内容安全拦截了?
从 GEO 的概念本身来看,没有明显的内容安全风险。但
NO_IMAGE 并不能完全排除上游策略影响,仍需要结合完整响应和调用日志判断。就当前案例而言,提示词更像知识解释,图片生成意图不够具体是更值得优先排查的方向。同一个请求为什么时好时坏?渠道变了吗?
同一个请求为什么时好时坏?渠道变了吗?
多数情况下渠道没有变化。意图不明确导致的
NO_IMAGE 本身是概率性的:模型每次都在「出图」和「先写文字」之间做选择。在我们的实测中,同一请求的失败率约 21%,而且会连续出现。建议客户端在收到 NO_IMAGE 时自动重试 1~2 次,同时从提示词上根治。为什么 usageMetadata 有 token,但仍然没有图片?
为什么 usageMetadata 有 token,但仍然没有图片?
usageMetadata 只能说明模型处理了输入并产生了推理或文本 token,不代表响应一定包含图片。是否生成图片,应以响应中是否存在图片数据为准。NO_IMAGE 会扣费吗?
NO_IMAGE 会扣费吗?
不能只根据
NO_IMAGE 判断是否扣费。请以 API易 控制台的调用日志为准,确认该请求是否产生消费记录。仍然无法解决?联系我们
如果明确补充了图片生成意图后仍然返回NO_IMAGE,请联系 API易 客服,并提供:
- 模型名称和令牌分组;
- 完整错误消息和
request ID; - 脱敏后的提示词;
- 问题发生时间;
- 调用日志中的消费记录。
企业微信客服

邮件咨询
客服邮箱:support@apiyi.com邮件标题建议包含「NO_IMAGE + 模型名称」。
相关文档
Gemini 出图返回 blockReason: OTHER 怎么办?
输入图在生成前被拦截时的定位方法与参考图预处理建议
Nano Banana 系列出图失败
查看内容安全、去水印、知名 IP 和未成年人等常见原因
模型调用报错怎么排查?
查看 401、429、503、504、超时和分组问题的通用排查流程
怎么看懂日志里的计费金额?
通过调用日志确认请求是否成功和是否产生消费