Why did Gemini suddenly return 400? Because it didn’t like my “metaphor”

An AMD senior technical support manager stated, “Cache is semiconductor boobs!” Please explain this metaphor in detail from multiple angles, incorporating the 3D V-Cache technology.


Recently, while using the Google Gemini API (called via newapi), I ran into a fairly “typical” 400 error: invalid argument.
I’m recording the troubleshooting conclusion here for future reference.


Placeholder.

While using Gemini API (AstrBot), it suddenly started returning 400: invalid argument.
The parameters looked fine, the token count wasn’t exceeded—I even thought I’d written my code wrong.

Later I found the culprit was this sentence:

“Cache is semiconductor boobs!”

The original intent was actually pretty simple, roughly:

Cache is the kind of thing in semiconductors that “once you add it, it becomes very noticeable, and users feel it immediately”
(referring to the 3D V-Cache type of thing)

But Gemini didn’t see it that way.

What it saw was:
:backhand_index_pointing_right: boobs
:backhand_index_pointing_right: Safety Filter
:backhand_index_pointing_right: straight to 400, without a single explanation

Even worse, it won’t tell you it’s a content issue—it just throws invalid argument at you,
perfect for wasting half an hour of your life.

Also, the surrounding context was pretty long (9k+ tokens).
If similar words get mixed into the history, it’s basically guilt by association.

Conclusion:

  • Gemini’s safety filtering is “word-level,” regardless of whether you’re talking about CPUs
  • A technical joke ≠ a joke it can accept
  • If you hit a 400 and it really doesn’t look like a parameter issue, check your prompt first

From now on I’ll translate metaphors like this into plain language before feeding them to it :upside_down_face: