Skip to content

通过 MCP 生成语音 ​

MCP(Model Context Protocol)让 AI 客户端调用 Convbased 的文本转语音工具。连接后可查询模式与价格、提交合成任务并获取音频结果。

前置条件 ​

  • 已有可登录的 Convbased 账户。生成语音需要足够的钱包余额。
  • 客户端支持远程 Streamable HTTP 和 OAuth 授权,且支持客户端元数据文档(CIMD)或已登记为受支持的客户端。

连接与授权 ​

在客户端的 MCP 设置中添加远程服务:

配置项填写内容
名称Convbased
服务地址https://api.weights.chat/api/v1/mcp
传输方式Streamable HTTP(部分客户端标为 HTTP)
认证方式OAuth
权限范围(需要填写时)tts
  1. 保存配置,在客户端发起连接或登录。
  2. 浏览器打开 Convbased 授权页后,登录要用于生成语音的账户,核对应用标识、回调来源、权限与收费说明,再同意授权。
  3. 返回客户端,刷新工具列表。应能看到 tts_modes、tts_pricing、audio_upload_request、tts_submit、tts_job 和 tts_cancel。

OAuth 凭据由客户端获取和保存,无需创建或粘贴 API Key,也不要复制网页登录令牌。

确认连接可用 ​

在客户端发送:

使用 Convbased 查询可用的语音模式和当前价格,先不要生成音频。

客户端调用 tts_modes 和 tts_pricing 并返回结果,表示连接与授权可用。这两项查询不会创建收费合成任务。

需要生成时可发送:

使用 Convbased 的 general 模式,把“你好,欢迎使用 Convbased。”合成为语音,不使用参考音频。提交后等待任务完成,返回音频下载地址和实际扣费金额。

客户端通过 tts_submit 提交任务,再用 tts_job 等待结果。任务完成时,status 为 done,result.url 是临时音频地址,result.amount_charged 是实际扣费金额。请在地址有效期内保存音频。

费用与任务状态 ​

MCP 合成按 API 价格扣除账户钱包余额,不使用会员额度或会员折扣。当前价格通过 tts_pricing 查询。

提交时预占余额,完成后按实际用量结算;失败或成功取消时释放预占余额。进阶模式按返回的最大秒数预占,结算后退回未使用部分。

网络中断或客户端超时后,已受理的任务仍可能继续执行。保留 job_id 并通过 tts_job 查询,按返回的 poll_after_ms 等待后再查询。提交结果不确定时,重试须沿用同一个 request_id 和全部输入;新建请求标识可能创建另一笔收费任务。

tts_cancel 只取消仍在排队的任务。以返回的 status 判断是否取消成功;断开 MCP 连接不会取消已受理任务。

使用参考音频 ​

客户端需要能读取音频文件并执行 HTTP PUT 上传:先调用 audio_upload_request,再按返回的 upload_url 和 headers 上传文件,完成后将 key 传给 tts_submit。返回 exists: true 时可跳过上传。不要通过 MCP 传递 Base64 音频或把本地文件路径当作音频标识。

参考音频须属于当前授权账户,数量与对应文字要求通过 tts_modes 查询。仅能调用 MCP 工具、不能上传文件的客户端,可先使用无参考音频的 general 模式。

撤销授权 ​

进入 开放中心,在“已授权应用”中撤销对应应用。撤销后应用不能继续访问,已受理的任务仍会执行并结算。再次使用时需从客户端重新发起授权。

连接排障 ​

现象处理方式
客户端只提供本地命令或 SSE 连接使用支持 Streamable HTTP 和 OAuth 的客户端;不要把地址改成 /sse。
授权时提示 invalid_client 或不支持客户端注册使用支持 CIMD 的客户端,或联系服务方确认客户端登记;API Key 不能替代 OAuth 授权。
授权请求无效或已过期回到客户端重新发起授权,不重复使用旧授权页。
提示 401、凭据失效或授权已撤销在客户端重新登录并授权。
提示 403、权限不足或工具列表为空确认授予了 tts 权限,重新授权后刷新工具列表。
提示余额不足为当前授权账户充值钱包后重试;会员剩余额度不能支付 MCP 合成。