出门问问API密钥申请与Python调用示例

出门问问API主要提供语音合成、语音识别等能力,调用前需要先在开发者平台创建应用并获取API Key。
本文按实际接入顺序,从账号准备、密钥配置到Python请求示例逐步说明,并给出失败时的检查方向。

调用前需要准备什么

接入出门问问API不依赖特定服务器环境,本地电脑或云服务器均可。
需要准备:

  • 一个已注册的出门问问开发者账号,并完成实名认证(部分接口要求)。
  • 在控制台创建应用后获得的 API Key 和 Secret Key(或平台下发的AppID)。不同产品线的密钥名称可能略有差异,以控制台实际显示为准。
  • Python 3.8 及以上环境,以及 requests 库:
pip install requests

如果使用云服务器调用,确保出站HTTPS(443端口)未被安全组或防火墙拦截。

在控制台获取密钥

登录出门问问开发者平台后,进入控制台的应用管理页面,创建新应用。
创建时按提示选择需要使用的语音能力,例如语音合成或语音识别。

应用创建完成后,在应用详情页可以看到类似 API Key、Secret Key 的字段。密钥只显示一次或有限次数,建议立即复制到本地密码管理器,不要直接写死在公开代码仓库中。

实际调用时通常有两种鉴权方式:一种是将API Key放在请求头中,另一种是用Key和Secret换取临时Token。
具体用哪种取决于所调用的接口文档,接入前先确认接口的鉴权说明。

Python请求示例

以下示例演示以请求头方式携带API Key发起一次语音合成请求。
接口地址、参数名和返回结构请以你控制台对应产品的文档为准,这里重点展示请求组织和错误处理思路。

import requests
import json

API_KEY = "你的API Key"
URL = "https://api.mobvoi.com/对应的接口路径"  # 以官方文档为准

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

payload = {
    "text": "你好,这是一段测试语音",
    "voice": "默认发音人",
    "format": "mp3"
}

try:
    resp = requests.post(URL, headers=headers, data=json.dumps(payload), timeout=15)
    print("状态码:", resp.status_code)
    print("返回内容:", resp.text[:500])
    resp.raise_for_status()
except requests.exceptions.Timeout:
    print("请求超时,检查网络或接口地址")
except requests.exceptions.HTTPError as e:
    print("HTTP错误:", e)

运行后先看状态码:200 表示请求被接口接受,
返回体中通常包含音频地址或base64数据;401 或 403 说明鉴权失败,
优先检查Key是否复制完整、
是否带了多余空格、
请求头字段名是否与文档一致。

常见报错与避坑

401 Unauthorized:密钥无效或已过期。
到控制台确认应用状态,重新生成密钥后替换代码中的值。
注意有些平台区分测试环境和生产环境密钥,不要混用。

403 Forbidden:常见原因是应用未开通对应接口权限,或请求的IP不在白名单内。
检查应用详情页的接口权限列表,以及是否配置了IP限制。

请求超时或连接失败:先用 curl -I https://api.mobvoi.com 检查网络连通性,再确认服务器安全组放行了443出站。
如果从国内服务器调用海外节点,延迟可能偏高,可适当调大 timeout。

返回参数错误:核对请求体字段名大小写和数据类型,例如文本字段是否误传了数字、音频格式是否在支持列表内。
不要凭猜测构造参数,直接对照文档中的请求示例。

另外,密钥不要提交到Git仓库。
建议通过环境变量读取:

export MOBVOI_API_KEY="你的Key"

代码中改为 os.environ.get("MOBVOI_API_KEY"),避免密钥随代码泄露。

调用结果怎么验证

首次接入时,建议用最短文本或短音频做一次最小请求,确认返回结构后再接入业务逻辑。
验证顺序:先看HTTP状态码是否为200,再看返回体中的业务错误码字段(如果有),最后检查音频文件能否正常播放或识别文本是否合理。

如果返回音频链接,可以用 curl -o test.mp3 "音频地址" 下载后播放,确认不是空文件。
若接口返回base64音频,解码后保存为文件再试听。

接入完成后,把密钥读取、请求超时和错误码判断封装成独立函数,后续更换模型或接口时只需调整参数,不必重写调用逻辑。

常见疑问

API Key和Secret Key都要传吗? 取决于接口设计。
有的接口只需API Key放在请求头,有的需要先用Key和Secret换取access_token。
以所调用接口的鉴权文档为准,不要两种方式混用。

免费额度够测试吗? 各产品线的免费额度和计费方式可能调整,注册后在控制台的用量或计费页面查看当前政策,不要以旧文章中的数字为准。

调用失败会扣费吗? 通常鉴权失败或参数错误不会产生有效调用计费,但具体规则以平台计费说明为准。
建议在测试环境先用小请求验证。

分享到:
上一篇
商汤API调用流程:密钥配置与Python请求示例
下一篇
云知声API接入指南:语音识别与合成接口调用
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意