简短回答
如果 Gemini 图片接口返回 HTTP 200,但响应里没有candidates,只有 promptFeedback.blockReason(最常见的是 OTHER),说明请求在开始生成之前就被原厂的输入检查拦下了。
- 这类拦截通常几秒内就返回,比正常出图快得多
OTHER不会告诉你具体原因,safetyRatings往往也是空的- 它不一定和提示词写法有关,很多时候是某一张参考图触发的
- gemini-3-pro-image(Nano Banana Pro)的输入检查比 gemini-3.1-flash-image 更严格,同一个请求可能 Pro 被拦、flash 能出
怎么识别
典型响应如下:一个实测案例
2026-09 (UTC+8) 我们复测了一个服装目录出图请求:1 段提示词 + 6 张参考图(姿势、人物、场景、穿搭、鞋袜拼图、帽子),2:3、2K、responseModalities: ["IMAGE"]。
- gemini-3-pro-image 连续 3 次返回
blockReason: OTHER;同一请求用 gemini-3.1-flash-image 能正常出图 - 用对半拆分的方法逐步缩小范围,最终定位到唯一的触发源是那张人物参考图(一张 AI 生成的人物四宫格设定图,包含正面、背面、侧面和面部特写)
- 这张图配任何提示词都会被拦,包括与任务无关的「把背景换成浅灰色」
- 事前最被怀疑的「带水印的真人姿势参考图」和「带商标的帽子图」,单独测试都能通过
也就是说,这类检查对某些图片的原始像素非常敏感,重新导出一次就能正常通过。原厂不公开
OTHER 的具体判断依据,我们无法进一步归因。
这个案例说明:一次请求放多张参考图、把多个步骤合并成一次生成,本身都没有问题。遇到
OTHER 时,不要急着改提示词或拆分流程,先确认是哪一张图。如何定位是哪一张图
1
第一步:确认可以复现
原样重发 2~3 次。
blockReason 拦截通常是稳定复现的;如果时好时坏,更可能是 NO_IMAGE 那类问题。2
第二步:先排除提示词
保留全部图片,把提示词换成一句与任务无关的简单指令(例如「把背景换成浅灰色」)。如果仍被拦截,问题在图片上。
3
第三步:对半拆分图片
把参考图分成两半分别发送,只在仍被拦截的那一半里继续拆分,直到定位到单张图。6 张图最多拆 3 轮。
4
第四步:处理那张图
按下文「处理建议」重新导出该图后,再发送完整请求验证。
处理建议
场景一:人工操作(在画布或工具里手动出图)
- 参考图先重新导出一次再上传:用任意修图工具(系统自带的预览、Photoshop 等)导出为 JPEG,质量 90~95,长边不超过 2048px。
- 大图先缩小:长边 3000~4000px 的原图缩到 2048px 以内,不影响出图效果,上传也更快。
- 几秒就失败时先怀疑参考图:优先把最近新加入的那张图重新导出后再试;仍不行就按上面的方法逐张排查。
- 人物参考图优先用全身图:在上面的案例中,人物四宫格拆开后,单独的正面全身图可以通过。如果某张人物设定图反复被拦截,可以先只用其中的全身图。
- 临时替代:某张图确实无法通过 Pro 时,可以先用 gemini-3.1-flash-image 完成这一步。
场景二:代码(工程化自动处理)
1. 所有参考图发送前统一预处理,不必针对某一张图单独处理:转为 sRGB → 按 EXIF 方向摆正 → 长边限制在 2048px → 重新编码为 JPEG(质量 90~95)→ 去掉元数据。 这样做首先能显著减小请求体积、加快上传(上面的案例原始请求体约 4.6MB);同时也能减少这类OTHER 拦截。Node.js 示例:
3. 记录排查信息:每次失败都记下
responseId,以及每张参考图的哈希值和尺寸。出现问题时能快速找到是哪张图,也方便联系我们时提供。
常见问题
为什么 flash 能出图,Pro 却被拦截?
为什么 flash 能出图,Pro 却被拦截?
两个模型的输入检查策略不同,Pro 更严格。同一张参考图在 flash 上通过、在 Pro 上被拦截是正常现象,并不代表请求本身有问题。
参考图是 AI 生成的,也会被拦截吗?
参考图是 AI 生成的,也会被拦截吗?
会有这种情况。上面案例里被拦截的就是一张用自己拍的照片重新生成的人物设定图。是否被拦截与图片来源没有简单对应关系,按本页的方法定位并预处理即可。
一次放 6 张参考图会不会太多?
一次放 6 张参考图会不会太多?
在上面的案例中,6 张图本身不是问题:替换掉那一张人物图后,完整的 6 图请求可以正常出图。
被拦截的请求会扣费吗?
被拦截的请求会扣费吗?
请以 API易 控制台的调用日志为准,确认该请求是否产生消费记录。
仍然无法解决?联系我们
请提供以下信息,方便我们协助排查:- 模型名称和令牌分组;
- 完整响应(至少包含
promptFeedback和responseId)与request ID; - 问题发生时间(请注明时区);
- 已经定位到的参考图(如方便提供)。
企业微信客服

邮件咨询
客服邮箱:[email protected]邮件标题建议包含「blockReason + 模型名称」。
相关文档
为什么 Gemini 图片接口返回 NO_IMAGE?
提示词意图不明确导致的未出图与修复方法
Nano Banana 系列出图失败
内容安全、去水印、知名 IP 和未成年人等常见原因
Gemini 生图 API 错误处理指南
完整的响应判断顺序与 C 端友好提示方案
怎么看懂日志里的计费金额?
通过调用日志确认请求是否成功和是否产生消费