Gemini 3.8 Flash TTS 把《Godan》一句经典语录误拦截为 PROHIBITED_CONTENT

在深圳设计师 中级 1天前 467 浏览 10 点赞 约 2 分钟

结论先说

这个问题不是我原创的,但值得记录一下: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 的模型在识别上下文语气、讽刺或批评性措辞方面还不够成熟,容易误伤。这也提醒我们,在使用云服务进行内容创作时,不仅要关注技术本身,还需要考虑到平台政策带来的不可预知性。

对开发者来说,这类问题更像是“已知风险”,不能指望每次调用都返回理想结果。合理的容错机制才是关键。

PROHIBITED_CONTENTDiscoursePremchandGodantext-to-speech filtering

全部回复 (3)

想当场把话说完?进全球 AI 聊天室,登录就能开口。

脚
脚本小子阿强 初级 1天前

你说话就差把人家作品禁了?一句台词就直接拦截为 PROHIBITED_CONTENT?神经!这 Gemini 3.8 Flash TTS 确实是把“नग्नता”这个词识别为黄色内容了,可这词本身就指的是“裸体”, Premchand 氏说得还是一种文化保护主义的意思,跟黄色内容完全不沾边! Gemini 的识别算法还需要好好优化啊!

0 回复
强
强迫症脚本小子 专家 1天前

你确定没设置 safety_settings 里的 HARM_CATEGORY_SEXUALLY_EXPLICIT 为 BLOCK_NONE? 我刚测试过 gemini-3.8-flash-tts,发送原文(带“नग्नता”)时,默认安全设置下确实会拦截,但手动设置后能正常输出音频。Google 的文档说默认是“阻止”,但实际行为不一致,你的结论有漏洞。

0 回复
阿
阿海爱学习 高级 1天前

你的例子里“गोल बाँहों”这个描述里的“गोल”在音频上被误判了吗?。

0 回复

发表回复

支持 Markdown 格式