Google Cloud Speech-to-Text v2解码配置错误问题求助
解决Google Cloud Speech-to-Text v2批量识别的decoding_config错误
错误本质
你遇到的decoding_config: required oneof field 'decoding_config' must have one initialized field错误,核心原因是Speech-to-Text v2的RecognitionConfig中,decoding_config是oneof类型字段——必须明确指定autoDecodingConfig(自动解码)或explicitDecodingConfig(手动解码)中的一个,且配置不能是空对象。
具体修复方案
方案1:使用自动解码
自动解码无需手动指定音频参数,但不能传空的autoDecodingConfig,需要明确启用自动检测逻辑:
{ "processingStrategy": "DYNAMIC_BATCHING", "files": [ { "uri": "gs://{SECRET}/transcribes/1704048500788" } ], "recognitionOutputConfig": { "inlineResponseConfig": {} }, "config": { "languageCodes": ["he-IL"], "model": "chirp", "autoDecodingConfig": { "enableAutomaticDecoding": true } } }
方案2:使用手动解码
手动解码必须确保所有参数与音频文件的实际属性完全匹配,否则依然会触发错误:
- 先确认音频文件的真实属性:
从输出中提取ffmpeg -i gs://{SECRET}/transcribes/1704048774055Stream #0:0的编码(如mp3)、采样率(如44100 Hz)、声道数(如1 channels)。 - 匹配参数后的请求体示例(以MP3格式为例):
{ "processingStrategy": "DYNAMIC_BATCHING", "files": [ { "uri": "gs://{SECRET}/transcribes/1704048774055" } ], "recognitionOutputConfig": { "inlineResponseConfig": {} }, "config": { "languageCodes": ["he-IL"], "model": "chirp", "explicitDecodingConfig": { "audioChannelCount": 1, "encoding": "MP3", "sampleRateHertz": 44100 } } }
额外注意事项
- 若使用
chirp模型,确认指定的languageCodes(如he-IL)在模型支持列表内; - 批量识别的GCS文件需确保Speech-to-Text服务账号有读取权限;
- 绝对避免在
decoding_config相关字段中传空对象,哪怕是autoDecodingConfig也需要至少一个有效配置项。
内容的提问来源于stack exchange,提问作者Aminadav Glickshtein
相关产品推荐
相关产品推荐

