I’m using gemini-2.5-flash-tts (paid tier, generateContent API) to generate read-aloud audio for a published romance novel I own. Twenty chapters generated without issues.
One 751-character section failed 4 times in a row with identical results: HTTP 200, no audio part, candidate.finishReason: UNKNOWN, promptFeedback.blockReason: PROHIBITED_CONTENT. Deterministic, not transient.
Here’s the full blocked passage:
She looks at me expectantly; I remember it vividly. If I wasn’t doing triple salchows, I was shooting a puck. I was always exhausted, and it sucked. I had no life.
I continue to glare.
Uncomfortable, my mother looks away. “Anyway, I thought I would share it with you and Violet. I suppose I should’ve knocked.”
“Damn right you should have!”
She tosses the dishtowel on the counter. “Don’t you take that tone with me! I didn’t expect your little girlfriend to be parading around half-naked!”
Her implication is clear: she believes Violet is trying to take advantage of me. I don’t get it. My mother has always had her head so far up her ass when it comes to me. It’s as if I’m still a teenager, not a grown man who can make his own damn decisions.
There is no sexual content in this text. It’s a character arguing with his mother.
Why this is a false positive rather than a policy disagreement:
• The three sections immediately before this one — which contain explicit sexual language — generated successfully.
• Five other chapters in the same book, each with a higher density of explicit terms than this chapter, generated successfully.
• The most explicit passage in this very chapter was never even reached; generation stopped at this section.
The filter blocked a non-explicit family argument while passing actually-explicit content in the same book. That points to a classifier misfire, not the policy working as intended. Could someone on the team review this?