Short answer
If the Gemini image API returns HTTP 200 withcandidates[0].finishReason set to IMAGE_OTHER, and finishMessage says Unable to show the generated image, the model did generate an image, but the provider’s output check filtered it before it was returned.
- It is probabilistic: the same request sometimes succeeds and sometimes fails, and the failure rate can be high
- It is unrelated to negative prompts, parameters, or the gateway; the problem is what ends up in the picture
- The most typical trigger we have measured: the prompt names a real person
- The provider states in
finishMessagethat these requests are not charged
How to recognize it
A typical response:candidatesTokenCount is not 0; it equals thoughtsTokenCount. The model finished thinking, but the final image was not delivered.
Three ways an image can go missing:
IMAGE_OTHER belongs to the same group as IMAGE_SAFETY, IMAGE_PROHIBITED_CONTENT, and IMAGE_RECITATION, all meaning “image generation was stopped”. IMAGE_OTHER covers reasons outside the other categories, and the provider does not disclose the specific criteria.A tested case
In September 2026 (UTC+8), a customer reported that a pure text-to-image player-card request failed to return an image about 63% of the time on gemini-3-pro-image. The prompt was about 5,500 characters:- An opening sentence naming a real athlete and asking for a “1:1 replica” of their facial features
- Detailed pose, framing, uniform colors, art style, and white-background instructions
- Two long negative-prompt (NEGATIVE) blocks listing many brand names
IMAGE_OTHER, returned in about 20 seconds. We then removed one element at a time, 6 calls per group:
How to locate the trigger
Step 1: Confirm the failure type
finishReason: IMAGE_OTHER, and note the failure rate. If you see NO_IMAGE or blockReason instead, use the matching troubleshooting page.Step 2: Check names and specific subjects first
Step 3: Remove sections by halves
Step 4: Rewrite instead of just deleting
Recommendations
- Do not put real people’s names in the prompt: describe their appearance instead, for example “straight blonde hair with an off-center part, almond-shaped eyes, oval face”. This was the only effective fix in our case.
- Trimming negative prompts is fine, but they are not the cause: Gemini image models have no separate negative-prompt parameter, so a long NEGATIVE list is read as ordinary text. Trimming it makes the prompt clearer but does not lower the
IMAGE_OTHERrate. - Do not rely on retries: with a failure rate above 60%, retrying is a gamble and adds latency. Your client can retry once on
IMAGE_OTHERas a fallback, but the real fix is the prompt. - Fix templates before batch generation: if you generate from a roster (for example, one card per player), do not insert the names into the prompt. Use them only for your own file names or later layout.
- Use a reference image when a consistent likeness is required: if you truly need to depict a specific person, provide a reference image authorized by that person, and keep in mind the real-person and minor restrictions listed in Nano Banana image generation failures.
FAQ
Does it trigger if the prompt only mentions the name, without asking for a likeness?
Does it trigger if the prompt only mentions the name, without asking for a likeness?
Why does the same request succeed sometimes and fail other times?
Why does the same request succeed sometimes and fail other times?
Why did it work after I switched groups or channels?
Why did it work after I switched groups or channels?
Do negative prompts (NEGATIVE) help?
Do negative prompts (NEGATIVE) help?
IMAGE_OTHER, but a very long list can dilute the main description. Keep only the few items that matter and phrase them positively (for example, “plain white background” instead of a long list of “no stadium, no grass…”).Am I charged for IMAGE_OTHER?
Am I charged for IMAGE_OTHER?
finishMessage that these requests are not charged. To confirm whether a request was billed, check the call logs in the APIYI console.Still stuck? Contact support
Please include the following so we can help:- Model name and token group;
- The complete response (at least
finishReason,finishMessage, andresponseId) and therequest ID; - Time of occurrence (with time zone);
- The redacted prompt, and the failure rate you observed.
WeCom Support
