You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cloud Text-to-Speech API语法错误:Windows下curl命令执行失败求助

嘿,我来帮你搞定这个Google Text-to-Speech的问题!作为Python初学者,其实你完全可以绕开curl的坑,用更顺手的Python SDK来实现,但先帮你把curl的问题解决,再给你推荐更适合的方案~

先解决Windows控制台的curl报错问题

你遇到的语法错误+301跳转,主要是Windows cmd和Linux/bash的语法差异导致的,还有命令替换、引号转义的问题,一步步来:

  1. 先手动获取访问令牌
    Windows cmd不支持bash的$(gcloud ...)命令替换,所以先单独执行这条命令拿到token:
gcloud auth application-default print-access-token

把输出的长串字符复制下来,后面要用到。

  1. 调整curl命令适配Windows cmd
    把教程里的curl命令改成cmd兼容的格式,注意三点:
  • 去掉bash的换行反斜杠\,改成一行命令
  • JSON里的双引号要加反斜杠\转义(cmd里双引号字符串内部的双引号必须转义)
  • 加上-L参数让curl自动跟随301跳转
    最终命令如下(记得替换YOUR_TOKEN_HERE为你刚复制的令牌):
curl -L -X POST -H "Authorization: Bearer YOUR_TOKEN_HERE" -H "Content-Type: application/json; charset=utf-8" --data "{\"input\":{\"text\":\"Hello, World!\"},\"voice\":{\"languageCode\":\"en-US\",\"name\":\"en-US-Standard-C\",\"ssmlGender\":\"FEMALE\"},\"audioConfig\":{\"audioEncoding\":\"MP3\"}}" "https://texttospeech.googleapis.com/v1/text:synthesize"

更推荐的Python方案(适合你)

既然你熟悉Python,用Google官方的Python SDK会比curl省心太多,完全不用纠结命令行语法问题:

  1. 安装TTS库
    打开cmd执行:
pip install google-cloud-texttospeech
  1. 编写简单的合成脚本
    创建一个tts_demo.py文件,粘贴下面的代码:
from google.cloud import texttospeech

# 初始化客户端
client = texttospeech.TextToSpeechClient()

# 设置要合成的文本
synthesis_input = texttospeech.SynthesisInput(text="Hello, 这是测试的合成语音!")

# 配置语音参数(可以根据需求修改语言、音色)
voice = texttospeech.VoiceSelectionParams(
    language_code="zh-CN",
    name="zh-CN-Standard-A",
    ssml_gender=texttospeech.SsmlVoiceGender.MALE
)

# 设置音频输出格式(这里选MP3)
audio_config = texttospeech.AudioConfig(
    audio_encoding=texttospeech.AudioEncoding.MP3
)

# 发起合成请求
response = client.synthesize_speech(
    input=synthesis_input, voice=voice, audio_config=audio_config
)

# 保存音频到本地文件
with open("output.mp3", "wb") as out_file:
    out_file.write(response.audio_content)
    print("合成完成!音频已保存为output.mp3")
  1. 配置环境变量(关键)
    在cmd里设置你的Google服务账号密钥文件路径(前6步应该已经生成了这个JSON文件):
set GOOGLE_APPLICATION_CREDENTIALS="C:\你的密钥文件路径\service-account-key.json"
  1. 运行脚本
python tts_demo.py

执行完就能在当前目录看到生成的output.mp3啦~

关于301跳转的小说明

这个错误通常是因为请求的URL协议或路径有问题,curl默认不跟随跳转,加上-L参数就能自动处理;而Python SDK会自动处理这类重定向,不用你额外配置。

内容的提问来源于stack exchange,提问作者normandantzig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:50:08