千问语音合成文件不能播放:区分 JSON 响应与音频下载 千问语音合成已经返回成功保存出来的“音频”却不能播放先检查你保存的是声音文件还是接口 JSON。本文针对百炼北京地域 Qwen-Audio-TTS 非流式调用用一句虚构播报跑通请求、取下载地址与保存文件三个步骤。依据 2026 年 10 月 15 日官方资料整理未在读者账号实测API 调用可能产生费用。1. JSON 响应不是可以直接播放的音频非流式合成接口返回一个描述结果的对象其中包含完整音频的下载地址。把这份 JSON 文本写进 demo.wav不会把它变成 WAV 音频修改扩展名也不会转换内容格式。当前官方 Qwen-Audio-TTS HTTP 文档说明完整音频地址位于 output.audio.url有效期为二十四小时非流式时 audio.data 为空。HTTP API 参考 首次任务可先采用非流式不处理音频分块和实时播放。最短路线是调用合成接口确认成功与正常结束取出下载地址及时下载声音文件再试听内容。每一步都有独立产物接口返回成功与本地文件保存成功需要分别确认。本文采用当前官方示例中的 qwen-audio-3.0-tts-flash 与系统音色 longanhuan_v3.6输出显式指定 wav 和 24000 采样率。音色与模型的可用组合应以当前账号及文档为准不能把另一系列的音色名随意混用。2. 用一句测试播报取得结果地址准备一个测试目录创建 request.json。这里不放真实姓名、联系方式或业务通知使用下面自行编写的短文本。{model:qwen-audio-3.0-tts-flash,input:{text:这是一条测试播报演示编号是三十六。,voice:longanhuan_v3.6,format:wav,sample_rate:24000}}在自己的终端设置 DASHSCOPE_API_KEY 和 TTS_ENDPOINT。后者从北京业务空间配置获取应是 SpeechSynthesizer 完整接口地址不能使用聊天补全接口或另一系列的合成端点。请求示例在测试目录运行curl--fail-with-body --max-time90\-HAuthorization: Bearer$DASHSCOPE_API_KEY\-HContent-Type: application/json\--data-binary request.json\$TTS_ENDPOINT-oresponse.json示例未实际发起请求也没有展示虚构成功日志。运行后先查看 HTTP 状态与 response.json合成失败时停止不进入下载步骤。确认 output.finish_reason 正常结束再找到 output.audio.url。不要在文章评论里粘贴真实密钥或带签名的下载地址。后者虽然有时效也可能在有效期内允许别人下载你的音频。求助时保留字段名与脱敏请求编号即可。3. 将声音文件与结果说明分别保存把刚取得的音频 URL 在自己的浏览器中打开使用正常下载功能保存为 test-36.wav。也可以用你已有的可信下载工具但不要对网上任意给出的 URL 自动下载并执行。本文不运行第三方下载脚本。如果使用终端下载先核对它确实是本次接口返回的音频地址再把它作为一个完整、带引号的参数传入下载工具。不要去掉查询参数因为签名和过期时间可能就在其中也不要在下载请求上附带合成 API 的认证头。下载后查看文件大小与实际类型。文本编辑器打开后出现 JSON 或错误 XML说明保存了错误响应不能因为名字以 wav 结尾就算成功。正常 WAV 通常包含 RIFF 与 WAVE 格式标识但格式标识正确也不代表内容完整最终仍要试听。文件或字段用途不应做什么response.json保存合成结果说明改名当作音频播放output.audio.url在有效期内取得完整文件当成永久业务地址test-36.wav下载后的声音文件只凭扩展名判断成功expires_at判断地址时效忽略过期继续反复下载官方非实时合成指南也区分非流式文件地址与流式音频数据。非实时语音合成指南 两种输出不能用同一个“把所有内容写成 WAV”的办法处理。4. 下载失败、播放失败与读音问题分开查地址已经过期不要先修改播放器应根据自己的任务记录判断是否需要重新合成。重新合成可能再次计费因此先确认是否已有本地文件或业务存储副本不因为某次下载失败就循环发起合成。下载得到空文件查看下载状态和是否发生中断。文件非空但播放器拒绝检查实际格式是否与请求一致以及是否误保存了错误页面。没有完成下载的部分文件应明确标为未完成不要作为正式素材交付。能播放但内容不对核对本次输入文本与文件对应关系。多个测试文件使用不同编号能避免把旧音频当作新结果。若只改文本却继续打开旧下载地址听到旧内容并不是模型忽略新请求。读音不符合预期属于合成质量问题需要检查语言、音色和文本表达它与文件能否下载是不同层次。首次只用简短普通中文等文件链路稳定后再加入多音字、缩写、情绪和长句等控制变量。5. 给首次任务定义一个完整结束点验收至少包括合成请求成功、取得未过期地址、下载得到正确格式文件、试听能听见测试编号。只记录请求成功会遗漏保存环节只看到播放器开始播放也不代表声音已经完整保存到本地。如果后续要长期使用把下载后的声音文件存入你有权限的业务存储并记录生成参数与来源。服务返回的临时链接不应直接成为长期页面里的唯一素材地址否则过期后页面就可能失去声音。保留模型名、音色、格式、采样率、生成时间和请求编号方便区分不同版本。对外使用时说明音频为 AI 合成沿用相关平台的标识要求。本文只使用系统音色不涉及模仿真实人物声音。试听时从头播放到结尾确认最后的编号没有截断。若音频能打开但只播出开头仍应视作任务未完成核对输入文本、正常结束状态和下载完整性。保存后的文件应使用独立名称避免新测试覆盖仍需要保留的旧素材。第一次跑通后再考虑自动下载与批量任务并为失败重试设置明确边界。文件接口最容易混淆的是“收到说明”和“拿到文件”把两者拆开验证能让不能播放的问题更快定位。参考资料Qwen-Audio-TTS HTTP API阿里云百炼更新时间未显示。非实时语音合成阿里云百炼更新时间未显示。访问于 2026-10-15。