本文介绍语音合成CosyVoice Python SDK的参数和接口细节。
用户指南:关于模型介绍和选型建议请参见语音合成-CosyVoice/Sambert。
在线体验:仅cosyvoice-v1支持在线体验。
前提条件
已开通服务并获取API Key。请配置API Key到环境变量,而非硬编码在代码中,防范因代码泄露导致的安全风险。
说明当您需要为第三方应用或用户提供临时访问权限,或者希望严格控制敏感数据访问、删除等高风险操作时,建议使用临时鉴权Token。
与长期有效的 API Key 相比,临时鉴权 Token 具备时效性短(60秒)、安全性高的特点,适用于临时调用场景,能有效降低API Key泄露的风险。
使用方式:在代码中,将原本用于鉴权的 API Key 替换为获取到的临时鉴权 Token 即可。
语音合成文本限制与格式规范
文本长度限制
字符计算规则
汉字:2字符
英文字母/数字/标点/空格:1字符
计算文本长度时,SSML标签内容也包含在内
示例:
"你好"
→ 2+2=4字符"中A文123"
→ 2+1+2+1+1+1=8字符"中文。"
→ 2+2+1=5字符"中 文。"
→ 2+1+2+1=6字符"<speak>你好<speak/>"
→ 7+2+2+8=19字符
编码格式
需采用UTF-8编码。
数学表达式支持说明
当前数学表达式解析功能仅适用于cosyvoice-v2
模型,支持识别中小学常见的数学表达式,包括但不限于基础运算、代数、几何等内容。
详情请参见Latex能力支持说明。
SSML标记语言支持说明
当前SSML(Speech Synthesis Markup Language,语音合成标记语言)功能仅适用于cosyvoice-v2
模型的部分音色(请查看音色列表确认是否支持SSML),使用时需满足以下条件:
使用DashScope SDK 1.23.4 或更高版本
仅支持同步调用和异步调用(即SpeechSynthesizer类的
call
方法),不支持流式调用(即SpeechSynthesizer类的streaming_call
方法)使用方法与普通语音合成一致:将包含SSML的文本传入SpeechSynthesizer类的
call
方法即可
快速开始
SpeechSynthesizer类提供了语音合成的关键接口,支持以下几种调用方式:
同步调用:提交文本后,服务端立即处理并返回完整的语音合成结果。整个过程是阻塞式的,客户端需要等待服务端完成处理后才能继续下一步操作。适合短文本语音合成场景。
异步调用:将文本一次发送至服务端并实时接收语音合成结果,不允许将文本分段发送。适用于对实时性要求高的短文本语音合成场景。
流式调用:将文本逐步发送到服务端并实时接收语音合成结果,允许将长文本分段发送,服务端在接收到部分文本后便立即开始处理。适合实时性要求高的长文本语音合成场景。
同步调用
提交单个语音合成任务,无需调用回调函数,进行语音合成(无流式输出中间结果),最终一次性获取完整结果。
实例化SpeechSynthesizer类绑定请求参数,调用call
方法进行合成并获取二进制音频数据。
发送的文本长度不得超过2000字符(详情请参见SpeechSynthesizer类的call
方法)。
每次调用call
方法前,需要重新初始化SpeechSynthesizer
实例。
异步调用
提交单个语音合成任务,通过回调的方式流式输出中间结果,合成结果通过ResultCallback
中的回调函数流式获取。
实例化SpeechSynthesizer类绑定请求参数和回调接口(ResultCallback),调用call
方法进行合成并通过回调接口(ResultCallback)的on_data
方法实时获取合成结果。
发送的文本长度不得超过2000字符(详情请参见SpeechSynthesizer类的call
方法)。
每次调用call
方法前,需要重新初始化SpeechSynthesizer
实例。
流式调用
在同一个语音合成任务中分多次提交文本,并通过回调的方式实时获取合成结果。
流式输入时可多次调用
streaming_call
按顺序提交文本片段。服务端接收文本片段后自动进行分句:完整语句立即合成
不完整语句缓存至完整后合成
调用
streaming_complete
时,服务端会强制合成所有已接收但未处理的文本片段(包括未完成的句子)。发送文本片段的间隔不得超过23秒,否则触发“request timeout after 23 seconds”异常。
若无待发送文本,需及时调用
streaming_complete
结束任务。服务端强制设定23秒超时机制,客户端无法修改该配置。
实例化SpeechSynthesizer类
流式传输
多次调用SpeechSynthesizer类的
streaming_call
方法分片提交待合成文本,将待合成文本分段发送至服务端。在发送文本的过程中,服务端会通过回调接口(ResultCallback)的
on_data
方法,将合成结果实时返回给客户端。每次调用
streaming_call
方法发送的文本片段(即text
)长度不得超过2000字符,累计发送的文本总长度不得超过20万字符。结束处理
调用SpeechSynthesizer类的
streaming_complete
方法结束语音合成。该方法会阻塞当前线程,直到回调接口(ResultCallback)的
on_complete
或者on_error
回调触发后才会释放线程阻塞。请务必确保调用该方法,否则可能会导致结尾部分的文本无法成功转换为语音。
请求参数
请求参数通过SpeechSynthesizer类的构造方法进行设置。
参数 | 类型 | 默认值 | 是否必须 | 说明 |
model | str | - | 是 | 指定模型,支持 v1 和 v2 在编码方式上相同,但使用时应确保 |
voice | str | - | 是 | 指定语音合成所使用的音色。 支持如下两种音色:
|
format | enum | 因音色而异 | 否 | 指定音频编码格式及采样率。 若未指定 说明 默认采样率代表当前音色的最佳采样率,缺省条件下默认按照该采样率输出,同时支持降采样或升采样。 可指定的音频编码格式及采样率如下:
|
volume | int | 50 | 否 | 合成音频的音量,取值范围:0~100。 重要 该字段在不同版本的DashScope SDK中有所不同:
|
speech_rate | float | 1.0 | 否 | 合成音频的语速,取值范围:0.5~2。
|
pitch_rate | float | 1.0 | 否 | 合成音频的语调,取值范围:0.5~2。 |
bit_rate | int | 32 | 否 | 指定音频的码率,取值范围:6~510kbps。 码率越大,音质越好,音频文件体积越大。 仅在模型( 说明
|
callback | ResultCallback | - | 否 |
关键接口
SpeechSynthesizer
类
SpeechSynthesizer
通过“from dashscope.audio.tts_v2 import *
”方式引入,提供语音合成的关键接口。
方法 | 参数 | 返回值 | 描述 |
|
| 没有指定 | 将整段文本(无论是纯文本还是包含SSML的文本)转换为语音。 在创建
重要 每次调用 |
|
| 无 | 流式发送待合成文本(不支持包含SSML的文本)。 您可以多次调用该接口,将待合成文本分多次发送给服务端。合成结果通过回调接口(ResultCallback)的 使用方法请参见流式调用。 |
|
| 无 | 结束流式语音合成。 该方法阻塞当前线程N毫秒(具体时长由 默认情况下,如果等待时间超过10分钟,则停止等待。 使用方法请参见流式调用。 重要 在流式调用时,请务必确保调用该方法,否则可能会出现合成语音缺失的问题。 |
| 无 | 上一个任务的request_id | 获取上一个任务的request_id。 |
| 无 | 首包延迟 | 获取首包延迟(一般在500ms左右)。 首包延迟是开始发送文本和接收第一个音频包之间的时间,单位为毫秒。在任务完成后使用。 首次发送文本时需建立 WebSocket 连接,因此首包延迟会包含连接建立的耗时。 |
| 无 | 最后一次报文 | 获取最后一次报文(为JSON格式的数据),可以用于获取task-failed报错。 |
回调接口(ResultCallback
)
异步调用或流式调用时,服务端会通过回调的方式,将关键流程信息和数据返回给客户端。您需要实现回调方法,处理服务端返回的信息或者数据。
通过“from dashscope.audio.tts_v2 import *
”方式引入。
方法 | 参数 | 返回值 | 描述 |
| 无 | 无 | 当和服务端建立连接完成后,该方法立刻被回调。 |
|
| 无 | 当服务有回复时会被回调。 |
| 无 | 无 | 当所有合成数据全部返回(语音合成完成)后被回调。 |
|
| 无 | 发生异常时该方法被回调。 |
|
| 无 | 当服务器有合成音频返回时被回调。 您可以将二进制音频数据合成为一个完整的音频文件后使用播放器播放,也可以通过支持流式播放的播放器实时播放。 重要
|
| 无 | 无 | 当服务已经关闭连接后被回调。 |
响应结果
服务器返回二进制音频数据:
同步调用:对SpeechSynthesizer类的
call
方法返回的二进制音频数据进行处理。异步调用或流式调用:对回调接口(ResultCallback)的
on_data
方法的参数(bytes类型数据)进行处理。
错误码
如遇报错问题,请参见错误信息进行排查。
若问题仍未解决,请加入开发者群反馈遇到的问题,并提供Request ID,以便进一步排查问题。
更多示例
更多示例,请参见GitHub。
音色列表
当前默认支持的音色如下表所示。若您需要更加个性化的音色,可通过声音复刻功能免费定制专属音色,详情请参见使用复刻的音色进行语音合成。
cosyvoice-v2音色列表
重要以下为cosyvoice-v2音色列表,使用时必须将请求参数
model
设置为cosyvoice-v2
,否则将调用失败。cosyvoice-v1音色列表请参见cosyvoice-v1音色列表
适用场景
音色
音色特质
音频试听(右键保存音频)
voice参数
语言
SSML
权限要求
童声(标杆音色)
龙火火
桀骜不驯男童
longhuohuo
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
龙呼呼
天真烂漫女童
longhuhu
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
方言(标杆音色)
龙川叔
油腻搞笑叔
longchuanshu
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
消费电子-教育培训
龙安培
青少年教师女
longanpei
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
消费电子-儿童陪伴
龙汪汪
台湾少年音
longwangwang
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
龙泡泡
飞天泡泡音
longpaopao
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
消费电子-儿童有声书
龙闪闪
戏剧化童声
longshanshan
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
龙牛牛
阳光男童声
longniuniu
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
短视频配音
龙黛玉
娇率才女音
longdaiyu
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
龙高僧
得道高僧音
longgaoseng
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
客服
龙应沐
优雅知性女
longyingmu
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
龙应询
年轻青涩男
longyingxun
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
龙应催
严肃催收男
longyingcui
中、英
✅
✅可直接使用
龙应答
开朗高音女
longyingda
中、英
✅
✅可直接使用
龙应静
低调冷静女
longyingjing
中、英
✅
✅可直接使用
龙应严
义正严辞女
longyingyan
中、英
✅
✅可直接使用
龙应甜
温柔甜美女
longyingtian
中、英
✅
✅可直接使用
龙应冰
尖锐强势女
longyingbing
中、英
✅
✅可直接使用
龙应桃
温柔淡定女
longyingtao
中、英
✅
✅可直接使用
龙应聆
温和共情女
longyingling
中、英
✅
✅可直接使用
语音助手
YUMI
正经青年女
longyumi_v2
中、英
✅
✅可直接使用
龙小淳
知性积极女
longxiaochun_v2
中、英
✅
✅可直接使用
龙小夏
沉稳权威女
longxiaoxia_v2
中、英
✅
✅可直接使用
直播带货
龙安燃
活泼质感女
longanran
中、英
✅
✅可直接使用
龙安宣
经典直播女
longanxuan
中、英
✅
✅可直接使用
龙安冲
激情推销男
longanchong
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
龙安萍
高亢直播女
longanping
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
有声书
龙白芷
睿气旁白女
longbaizhi
中、英
✅
⚠️ 若有语音服务业务对接人,请直接联系其申请开通;否则请提交工单申请
龙三叔
沉稳质感男
longsanshu
中、英
✅
✅可直接使用
龙修
博才说书男
longxiu_v2
中、英
✅
✅可直接使用
龙妙
抑扬顿挫女
longmiao_v2
中、英
✅
✅可直接使用
龙悦
温暖磁性女
longyue_v2
中、英
✅
✅可直接使用
龙楠
睿智青年男
longnan_v2
中、英
✅
✅可直接使用
龙媛
温暖治愈女
longyuan_v2
中、英
✅
✅可直接使用
社交陪伴
龙安柔
温柔闺蜜女
longanrou
中、英
✅
✅可直接使用
龙嫱
浪漫风情女
longqiang_v2
中、英
✅
✅可直接使用
龙寒
温暖痴情男
longhan_v2
中、英
✅
✅可直接使用
龙星
温婉邻家女
longxing_v2
中、英
✅
✅可直接使用
龙华
元气甜美女
longhua_v2
中、英
✅
✅可直接使用
龙婉
积极知性女
longwan_v2
中、英
✅
✅可直接使用
龙橙
智慧青年男
longcheng_v2
中、英
✅
✅可直接使用
龙菲菲
甜美娇气女
longfeifei_v2
中、英
✅
✅可直接使用
龙小诚
磁性低音男
longxiaocheng_v2
中、英
✅
✅可直接使用
龙哲
呆板大暖男
longzhe_v2
中、英
✅
✅可直接使用
龙颜
温暖春风女
longyan_v2
中、英
✅
✅可直接使用
龙天
磁性理智男
longtian_v2
中、英
✅
✅可直接使用
龙泽
温暖元气男
longze_v2
中、英
✅
✅可直接使用
龙邵
积极向上男
longshao_v2
中、英
✅
✅可直接使用
龙浩
多情忧郁男
longhao_v2
中、英
✅
✅可直接使用
龙深
实力歌手男
kabuleshen_v2
中、英
✅
✅可直接使用
童声
龙杰力豆
阳光顽皮男
longjielidou_v2
中、英
✅
✅可直接使用
龙铃
稚气呆板女
longling_v2
中、英
✅
✅可直接使用
龙可
懵懂乖乖女
longke_v2
中、英
✅
✅可直接使用
龙仙
豪放可爱女
longxian_v2
中、英
✅
✅可直接使用
方言
龙老铁
东北直率男
longlaotie_v2
中(东北)、英
✅
✅可直接使用
龙嘉怡
知性粤语女
longjiayi_v2
中(粤语)、英
✅
✅可直接使用
龙桃
积极粤语女
longtao_v2
中(粤语)、英
✅
✅可直接使用
诗词朗诵
龙飞
热血磁性男
longfei_v2
中、英
✅
✅可直接使用
李白
古代诗仙男
libai_v2
中、英
✅
✅可直接使用
龙津
优雅温润男
longjin_v2
中、英
✅
✅可直接使用
新闻播报
龙书
沉稳青年男
longshu_v2
中、英
✅
✅可直接使用
Bella2.0
精准干练女
loongbella_v2
中、英
✅
✅可直接使用
龙硕
博才干练男
longshuo_v2
中、英
✅
✅可直接使用
龙小白
沉稳播报女
longxiaobai_v2
中、英
✅
✅可直接使用
龙婧
典型播音女
longjing_v2
中、英
✅
✅可直接使用
loongstella
飒爽利落女
loongstella_v2
中、英
✅
✅可直接使用
出海营销
loongeva
知性英文女
loongeva_v2
英式英文
❌
✅可直接使用
loongbrian
沉稳英文男
loongbrian_v2
英式英文
❌
✅可直接使用
loongluna
英式英文女
loongluna_v2
英式英文
❌
✅可直接使用
loongluca
英式英文男
loongluca_v2
英式英文
❌
✅可直接使用
loongemily
英式英文女
loongemily_v2
英式英文
❌
✅可直接使用
loongeric
英式英文男
loongeric_v2
英式英文
❌
✅可直接使用
loongabby
美式英文女
loongabby_v2
美式英文
❌
✅可直接使用
loongannie
美式英文女
loongannie_v2
美式英文
❌
✅可直接使用
loongandy
美式英文男
loongandy_v2
美式英文
❌
✅可直接使用
loongava
美式英文女
loongava_v2
美式英文
❌
✅可直接使用
loongbeth
美式英文女
loongbeth_v2
美式英文
❌
✅可直接使用
loongbetty
美式英文女
loongbetty_v2
美式英文
❌
✅可直接使用
loongcindy
美式英文女
loongcindy_v2
美式英文
❌
✅可直接使用
loongcally
美式英文女
loongcally_v2
美式英文
❌
✅可直接使用
loongdavid
美式英文男
loongdavid_v2
美式英文
❌
✅可直接使用
loongdonna
美式英文女
loongdonna_v2
美式英文
❌
✅可直接使用
loongkyong
韩语女
loongkyong_v2
韩语
❌
✅可直接使用
loongtomoka
日语女
loongtomoka_v2
日语
❌
✅可直接使用
loongtomoya
日语男
loongtomoya_v2
日语
❌
✅可直接使用
cosyvoice-v1音色列表
常见问题
功能特性/计量计费/限流
Q:我想了解CosyVoice的功能特性、计量计费、限流等信息,应该去哪里查看?
以上信息可在语音合成(CosyVoice)中查看。
Q:当遇到发音不准的情况时,有什么解决方案可以尝试?
通过SSML可以对语音合成效果进行个性化定制。
Q:当前RPS(Requests Per Second)无法满足实际业务需求,该怎么办?如何扩容?是否收费?
Q:如何指定待合成语音的语种?
待合成语音的语种无法通过请求参数进行指定,若您想合成指定语种的语音,请参见音色列表,根据音色的“语言”选择合适的音色进行合成。
Q:cosyvoice-v1 和 cosyvoice-v2 有什么区别?计费方式是否不同?
v1 和 v2 在编码方式上相同,但使用时需注意请求参数 model
和 voice
的设置需匹配实际版本(如 v2 模型需使用 v2 音色,否则会报错)。
v1 和 v2 的计费方式完全一致。
Q:语音合成是按文本字符数计费的,要如何查看或获取每次合成的文本长度?
根据是否开启日志,有不同的获取方式:
未开启日志
同步调用:需要按照字符计算规则自行计算。
其他调用方式:通过回调接口(ResultCallback)
on_event
方法的message
参数获取。message
为JSON字符串,解析可获取本次请求中计费的有效字符数(characters
参数)。请以收到的最后一个message
为准。
开启日志
在控制台会打印如下日志,
characters
即为本次请求中计费的有效字符数。请以打印的最后一个日志为准。2025-08-27 11:02:09,429 - dashscope - speech_synthesizer.py - on_message - 454 - DEBUG - <<<recv {"header":{"task_id":"62ebb7d6cb0a4080868f0edb######","event":"result-generated","attributes":{}},"payload":{"output":{"sentence":{"words":[]}},"usage":{"characters":15}}}
故障排查
如遇代码报错问题,请根据错误码中的信息进行排查。
Q:如何获取Request ID?
通过以下两种方式可以获取:
在回调接口(ResultCallback)的
on_event
方法中对JSON字符串message
进行解析。调用SpeechSynthesizer的
get_last_request_id
方法。
Q:使用SSML功能失败是什么原因?
请按以下步骤排查:
确保当前音色支持SSML功能(声音复刻音色不支持SSML)
确保
model
参数值为cosyvoice-v2
确保使用正确的接口:只有SpeechSynthesizer类的
call
方法支持SSML确保待合成文本为纯文本格式且符合格式要求,详情请参见SSML标记语言介绍
Q:为什么音频无法播放?
请根据以下场景逐一排查:
音频保存为完整文件(如xx.mp3)的情况
音频格式一致性:确保请求参数中设置的音频格式与文件后缀一致。例如,如果请求参数设置的音频格式为wav,但文件后缀为mp3,可能会导致播放失败。
播放器兼容性:确认使用的播放器是否支持该音频文件的格式和采样率。例如,某些播放器可能不支持高采样率或特定编码的音频文件。
流式播放音频的情况
将音频流保存为完整文件,尝试使用播放器播放。如果文件无法播放,请参考场景 1 的排查方法。
如果文件可以正常播放,则问题可能出在流式播放的实现上。请确认使用的播放器是否支持流式播放。
常见的支持流式播放的工具和库包括:ffmpeg、pyaudio (Python)、AudioFormat (Java)、MediaSource (Javascript)等。
Q:为什么音频播放卡顿?
请根据以下场景逐一排查:
音频保存为完整文件(如xx.mp3)的情况
请加入开发者群,并提供Request ID,以便我们为您排查问题。
流式播放音频的情况
检查文本发送速度: 确保发送文本的间隔合理,避免前一句音频播放完毕后,下一句文本未能及时发送。
检查回调函数性能:
检查回调函数中是否存在过多业务逻辑,导致阻塞。
回调函数运行在 WebSocket 线程中,若被阻塞,可能会影响 WebSocket 接收网络数据包,进而导致音频接收卡顿。
建议将音频数据写入一个独立的音频缓冲区(audio buffer),然后在其他线程中读取并处理,避免阻塞 WebSocket 线程。
检查网络稳定性: 确保网络连接稳定,避免因网络波动导致音频传输中断或延迟。
进一步排查: 如果以上方法仍未解决问题,请加入开发者群,并提供Request ID,以便我们为您进一步排查问题。
Q:语音合成慢(合成时间长)是什么原因?
请按以下步骤排查:
检查输入间隔
如果是流式语音合成,请确认文字发送间隔是否过长(如上段发出后延迟数秒才发送下段),过久间隔会导致合成总时长增加。
分析性能指标
若首包延迟不符合如下要求,请提交Request ID给技术团队进行排查。
首包延迟:正常500ms左右。
RTF(RTF = 合成总耗时/音频时长):正常0.3左右。
Q:合成的语音发音错误如何处理?
若当前使用的模型为cosyvoice-v1,推荐使用cosyvoice-v2,v2效果更好且支持SSML。
若当前使用的模型为cosyvoice-v2,请使用SSML的<phoneme>标签指定正确的发音。
Q:为什么没有返回语音?为什么结尾部分的文本没能成功转换成语音?(合成语音缺失)
请检查是否遗漏了调用SpeechSynthesizer类的streaming_complete
方法。在语音合成过程中,服务端会在缓存足够文本后才开始合成。如果未调用streaming_complete
方法,可能会导致缓存中的结尾部分文本未能被合成为语音。
Q:SSL证书校验失败如何处理?
安装系统根证书
sudo yum install -y ca-certificates sudo update-ca-trust enable
代码中添加如下内容
import os os.environ["SSL_CERT_FILE"] = "/etc/ssl/certs/ca-bundle.crt"
Q:Mac环境下出现“SSL: CERTIFICATE_VERIFY_FAILED”异常是什么原因?(websocket closed due to [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000))
在连接 WebSocket 时,可能会遇到 OpenSSL 验证证书失败的问题,提示找不到证书。这通常是由于 Python 环境的证书配置不正确导致的。可以通过以下步骤手动定位并修复证书问题:
导出系统证书并设置环境变量 执行以下命令,将 macOS 系统中的所有证书导出到一个文件,并将其设置为 Python 和相关库的默认证书路径:
security find-certificate -a -p > ~/all_mac_certs.pem export SSL_CERT_FILE=~/all_mac_certs.pem export REQUESTS_CA_BUNDLE=~/all_mac_certs.pem
创建符号链接以修复 Python 的 OpenSSL 配置 如果 Python 的 OpenSSL 配置缺失证书,可以通过以下命令手动创建符号链接。请确保替换命令中的路径为本地 Python 版本的实际安装目录:
# 3.9是示例版本号,请根据您本地安装的 Python 版本调整路径 ln -s /etc/ssl/* /Library/Frameworks/Python.framework/Versions/3.9/etc/openssl
重新启动终端并清除缓存 完成上述操作后,请关闭并重新打开终端,以确保环境变量生效。清除可能的缓存后重试连接 WebSocket。
通过以上步骤,可以解决因证书配置错误导致的连接问题。如果问题仍未解决,请检查目标服务器的证书配置是否正确。
Q:运行代码提示“AttributeError: module 'websocket' has no attribute 'WebSocketApp'. Did you mean: 'WebSocket'?”是什么原因?
原因是没有安装websocket-client或websocket-client版本不匹配,请依次执行以下命令:
pip uninstall websocket-client
pip uninstall websocket
pip install websocket-client
权限与认证
Q:我希望我的 API Key 仅用于 CosyVoice 语音合成服务,而不被百炼其他模型使用(权限隔离),我该如何做?
可以通过新建业务空间并只授权特定模型来限制API Key的使用范围。详情请参见业务空间管理。
Q:使用子业务空间的API Key是否可以调用CosyVoice模型?
对于默认业务空间,cosyvoice-v1
和cosyvoice-v2
均可调用。
对于子业务空间:需要为API Key对应的子业务空间进行模型授权,详情请参见子业务空间的模型调用。
更多问题
请参见GitHub QA。