Gemini 3.8 Flash TTS 把《Godan》一句经典语录误拦截为 PROHIBITED_CONTENT
结论先说
这个问题不是我原创的,但值得记录一下:Google 最新的 gemini-3.8-flash-tts 和 gemini-3.1-flash-tts-preview 模型,在语音合成(TTS)时,将印地语经典文学作品《Godan》(गोदान)中 Premchand 氏 1936 年创作的一段台词,直接拦截为 PROHIBITED_CONTENT,连音频都没生成。
那段台词是角色 मेहता 在讨论女性角色时说的一句话,内容谈女性应不要模仿西方的暴露文化。单从语义来说,一点也不涉黄,只是用了“नग्नता”这个词,可能就触发了过滤器。
- 模型版本:gemini-3.8-flash-tts, gemini-3.1-flash-tts-preview
- 接口地址:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash-tts:generateContent - 响应结果:
promptFeedback.blockReason: PROHIBITED_CONTENT,usageMetadata.totalTokenCount: 40 - 触发语句:जब मैं वहाँ की सुशिक्षित बालिकाओं को अपने रूप का, या भरी हुई गोल बाँहों या अपनी नग्नता का प्रदर्शन करते देखता हूँ, तो मुझे उन पर दया आती है।
- 出现次数:在 batch 模式下多次重试,均被拦截
重现方式
请求体非常简单,就是把那句印地语文本传进去,设置语言为印地语(languageCode: hi-IN),选择一个预设音色(比如 Gacrux)即可复现:
{
"contents": [{
"role": "user",
"parts": [{
"text": "जब मैं वहाँ की सुशिक्षित बालिकाओं को अपने रूप का, या भरी हुई गोल बाँहों या अपनी नग्नता का प्रदर्शन करते देखता हूँ, तो मुझे उन पर दया आती है।"
}]
}],
"generationConfig": {
"responseModalities": ["AUDIO"],
"speechConfig": {
"voiceConfig": { "prebuiltVoiceConfig": { "voiceName": "Gacrux" } },
"languageCode": "hi-IN"
}
}
}
返回的内容结构里只有 promptFeedback 和 usageMetadata,没有任何音频数据。而在同段语境下的其他句子,包括整段落的其余部分——都可以正常生成语音。
可能的原因
从上下文判断,这句话是出自《Godan》中 मेहता 先生在跟 मालती 讨论女性地位时的发言,他批评年轻女性盲目效仿西方文化,认为应该保持传统。台词中提到了“भरी हुई गोल बाँहों”(圆润饱满的胳膊弯)和“नग्नता”(裸露),虽然表达的是批判立场,但很可能因为关键词匹配,被 Google 的内容安全策略误伤。
整本书有 13,870 个句子,其中除了这一句之外,所有句子都能正常合成语音,说明这不是随机错误,而是特定词汇或结构触发了过滤规则。
怎么处理?
目前来看,没有太多直接的 workaround。开发者在 GitHub Issue 中也提到过类似情况,有人建议可以尝试:
- 替换敏感词(比如将“नग्नता”换成“परंपरागत वेशभूषा”等),但这会改变原文含义,不适合用于正版 audiobook 项目。
- 使用更旧版本的 TTS 模型(如 gemini-pro-voices-1 等非 flash 模型)是否有相同问题有待验证。
- 如果是在商业项目中使用 Gemini TTS,建议在调用前加一层本地预检测,对于可能触发审查的文本提前跳过或标记。
个人看法
这种事情其实挺常见——尤其是在处理文学文本时,语义理解与内容过滤之间常常存在摩擦。Google 的模型在识别上下文语气、讽刺或批评性措辞方面还不够成熟,容易误伤。这也提醒我们,在使用云服务进行内容创作时,不仅要关注技术本身,还需要考虑到平台政策带来的不可预知性。
对开发者来说,这类问题更像是“已知风险”,不能指望每次调用都返回理想结果。合理的容错机制才是关键。
全部回复 (3)
想当场把话说完?进全球 AI 聊天室,登录就能开口。
你说话就差把人家作品禁了?一句台词就直接拦截为 PROHIBITED_CONTENT?神经!这 Gemini 3.8 Flash TTS 确实是把“नग्नता”这个词识别为黄色内容了,可这词本身就指的是“裸体”, Premchand 氏说得还是一种文化保护主义的意思,跟黄色内容完全不沾边! Gemini 的识别算法还需要好好优化啊!