CreateAgentInstance
https://aigc-aiagent-api.zegotech.cn/
通过本接口,您可以创建智能体实例,并将智能体实例加入到语音(RTC)对话之中。
如果 RTC 房间 120 秒后没有真实用户存在,则智能体实例会自动销毁,并触发 Event 为 AgentInstanceDeleted 回调,Data.Code 为 1202。
Request
Query Parameters
Possible values: [CreateAgentInstance
]
接口原型参数
https://aigc-aiagent-api.zegotech.cn?Action=CreateAgentInstance
AppId,ZEGO 分配的用户唯一凭证。
随机字符串。
Unix 时间戳,单位为秒。最多允许 10 分钟的误差。
签名,用于验证请求的合法性。
Possible values: [2.0
]
签名版本号,默认值为 2.0。
- application/json
Body
required
- MiniMax:https://api.minimax.chat/v1/text/chatcompletion_v2
- 火山引擎(豆包):https://ark.cn-beijing.volces.com/api/v3/chat/completions
- 阿里云百炼(通义千问):https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
- 阶跃星辰:https://api.stepfun.com/v1/chat/completions
- MiniMax:
- MiniMax-Text-01
- 火山引擎(豆包):
- doubao-1-5-pro-32k-250115
- doubao-1-5-lite-32k-250115
- 阿里云百炼(通义千问):
- qwen-plus
- 阶跃星辰:
- step-2-16k
- room_id: 房间 ID
- user_id: 用户 ID
- agent_instance_id: 智能体实例 ID
- Aliyun: 阿里云
- ByteDance: 字节跳动火山语音(大模型语音合成 API)
- ByteDanceFlowing: 字节跳动火山语音(流式语音合成 API (WebSocket))
- MiniMax: MiniMax
- CosyVoice: 阿里云 CosyVoice
- Aliyun
- ByteDance
- ByteDanceFlowing
- MiniMax
- CosyVoice
- Aliyun:
- ByteDance:
- ByteDanceFlowing:
- Minimax:
- CosyVoice:
- Array[
- ]
- 0: 从即时通讯 (ZIM) 同步
- 1: 通过 Messages 参数同步
- Array[
- user: 用户
- assistant: 智能体
- ]
- 0: 立即打断。如果在 AI 说话时用户说话,那么 AI 将被立刻打断,停止说话。
- 1: 不打断。如果在 AI 说话时用户说话,那么 AI 不会被影响直到内容说完。
已注册的智能体唯一标识符
Possible values: <= 32 characters
用于登录 RTC 房间的真实用户 ID。 仅支持数字、英文字符、'-'、'_'。
RTC objectrequired
RTC 相关信息
📌 重要说明
所有属性字符限制:仅支持数字、英文字符、'_'、'-'、'.'。
Possible values: <= 128 characters
RTC 房间 ID。
Possible values: <= 128 characters
智能体实例推流使用的流 ID。
📌 重要说明
请确保当前运行中的多个智能体实例(即便不在同一个 RTC 房间)使用不同的流 ID,否则会导致后创建的智能体实例推流失败。
Possible values: <= 32 characters
智能体实例的用户 ID。
📌 重要说明
需确保同时在运行中的多个智能体实例(即便不在同一个 RTC 房间)使用不同的用户 ID,否则先创建的智能体实例会被踢出 RTC 房间。
Possible values: <= 128 characters
真实用户推流使用的流 ID。
LLM object
接收请求的端点(可以是你自己的服务,也可以是任何 LLM 服务提供商提供的服务),并且必须兼容 OpenAI Chat Completions API。
例如:https://api.openai.com/v1/chat/completions
📌 重要说明
如果 ApiKey 设置为 "zego_test",则必须使用以下 Url 地址之一:
LLM 服务提供商用于认证的参数。默认为空,但在生产环境中必须提供。
📌 重要说明
在接入测试期间(AI Agent 服务开通 2 周内),可以将该参数值设置为 "zego_test" 即可使用该服务。
LLM 模型。不同的 LLM 服务提供商支持不同的模型,请参考其官方文档选择合适的模型。
📌 重要说明
如果 ApiKey 设置为 "zego_test",则必须使用以下模型之一:
智能体系统提示(prompt)。调用 LLM 时附加在最前的预定义信息,用于控制 LLM 输出。可以是角色设定、提示词和回答样例等。
Possible values: >= 0
and <= 2
Default value: 0.7
数值越高,输出越随机;数值越低,输出越集中和确定。
Possible values: >= 0
and <= 1
Default value: 0.9
采样方法,数值越小,确定性越强;数值越大,随机性越强。
LLM 服务提供商支持的其他参数,如最大 Token 数量限制等。不同的 LLM 提供商支持不同的参数,请参考其官方文档并根据需要填写。
Default value: false
如果此值为 true,AI Agent 服务器在请求 LLM 服务时会在请求参数中包含智能体信息。 您可以使用此参数在自定义 LLM 服务中执行额外的业务逻辑。
agent_info 的结构如下:
TTS object
Possible values: [Aliyun
, ByteDance
, ByteDanceFlowing
, MiniMax
, CosyVoice
]
语音合成(TTS)服务提供商。选项:
Params objectrequired
TTS 配置参数,格式为 JSON 对象。包含 app 参数(用于认证)和其他参数(用于调整 TTS 效果)。
除 app 参数外,还可以传入其他 TTS 配置参数来调整语音合成效果,这些参数会直接透传给对应的 TTS 服务提供商。
您可以根据 Vendor 的值,参考如下服务提供商的官方文档获取所需信息:
- Aliyun:智能语音合成 - 接口说明
- ByteDance:大模型语音合成 API - 参数列表 - 请求参数
- ByteDanceFlowing:双向流式 API - WebSocket 二进制协议 中的 “Payload 请求参数”
- MiniMax:语音模型 - T2A v2 - WebSocket - 接口请求参数
- CosyVoice:语音合成CosyVoice WebSocket API 中的 “payload 请求参数”
app object required
请参考阿里云文档 智能语音交互 - 快速入门 - 从这里开始 中 “步骤 4:管理项目” 获取 AppKey 并传入此处。
📌 重要说明
在接入测试期间(AI Agent 服务开通 2 周内),可以将该参数值设置为 "zego_test" 即可使用该服务。
请参考阿里云文档 智能语音交互 - 快速入门 - 从这里开始 中 “步骤 2:创建 AccessKey” 获取 AccessKey ID 并传入此处。
📌 重要说明
在接入测试期间(AI Agent 服务开通 2 周内),可以将该参数值设置为 "zego_test" 即可使用该服务。
请参考阿里云文档 智能语音交互 - 快速入门 - 从这里开始 中 “步骤 2:创建 AccessKey” 获取 AccessKey Secret 并传入此处。
📌 重要说明
在接入测试期间(AI Agent 服务开通 2 周内),可以将该参数值设置为 "zego_test" 即可使用该服务。
请参考火山引擎文档 语音技术 - 快速入门 - 控制台使用 FAQ 中 “哪里可以获取到以下参数appid,cluster,token,authorization_type,secret_key ?”。
📌 重要说明
在接入测试期间(AI Agent 服务开通 2 周内),可以将该参数值设置为 "zego_test" 即可使用该服务。
请参考火山引擎文档 语音技术 - 快速入门 - 控制台使用 FAQ 中 “哪里可以获取到以下参数appid,cluster,token,authorization_type,secret_key ?”。
📌 重要说明
在接入测试期间(AI Agent 服务开通 2 周内),可以将该参数值设置为 "zego_test" 即可使用该服务。
Possible values: [volcano_tts
, volcano_mega
, volcano_icl
]
Default value: volcano_tts
火山引擎集群配置
📌 重要说明
此参数需与 audio.voice_type 参数匹配。
请参考火山引擎文档 语音技术 - 快速入门 - 控制台使用 FAQ 中 “哪里可以获取到以下参数appid,cluster,token,authorization_type,secret_key ?”。
📌 重要说明
在接入测试期间(AI Agent 服务开通 2 周内),可以将该参数值设置为 "zego_test" 即可使用该服务。
请参考火山引擎文档 语音技术 - 快速入门 - 控制台使用 FAQ 中 “哪里可以获取到以下参数appid,cluster,token,authorization_type,secret_key ?”。
📌 重要说明
在接入测试期间(AI Agent 服务开通 2 周内),可以将该参数值设置为 "zego_test" 即可使用该服务。
Possible values: [volc.service_type.10029
, volc.megatts.default
, volc.megatts.concurr
]
Default value: volc.service_type.10029
火山引擎资源 ID
📌 重要说明
此参数需与 req_params.speaker 参数匹配。
请参考 MiniMax 文档 快速开始 获取 api key 并传入此处。
📌 重要说明
在接入测试期间(AI Agent 服务开通 2 周内),可以将该参数值设置为 "zego_test" 即可使用该服务。
请参考 CosyVoice 文档 获取API Key 获取 api key 并传入此处。
📌 重要说明
在接入测试期间(AI Agent 服务开通 2 周内),可以将该参数值设置为 "zego_test" 即可使用该服务。
📌 重要说明
other_params 不是一个有效参数,仅仅是为了说明如何透传厂商参数。 除 app 参数外,其余参数均直接透传厂商参数。
以下是各家厂商的参数填写示例,请根据实际需求填写:
"TTS": {
"Vendor": "Aliyun",
"Params": {
"app":{
"app_key": "your key",
"ak_id": "your ak id",
"ak_key": "your ak key"
},
"voice": "zhitian_emo"
}
}
/*
cluster 配置说明:
默认 :volcano_tts:普通音色的集群
volcano_mega: 声音复刻大模型 1.0
volcano_icl:声音复刻大模型 2.0
*/
"TTS": {
"Vendor": "ByteDance",
"Params": {
"app": {
"appid": "your_appid",
"token": "your_token",
"cluster": "volcano_tts"
},
"audio": {
"voice_type": "your_voice_type"
}
}
}
/*
resource_id 配置说明:
默认 :volc.service_type.10029, 即:火山大模型语音合成
声音复刻2.0:
volc.megatts.default(小时版)
volc.megatts.concurr(并发版)
⚠️(不支持声音复刻1.0)
⚠️注意:speaker(音色id)和resource_id 要匹配
*/
"TTS": {
"Vendor": "ByteDanceFlowing",
"Params": {
"app": {
"appid": "your appid",
"token": "your token",
"resource_id": "volc.service_type.10029" // 音色resourceid
},
"req_params": {
"speaker": "zh_female_qingxinnvsheng_mars_bigtts" //音色id
}
}
}
"TTS": {
"Vendor": "MiniMax",
"Params": {
"app": {
"group_id": "your_group_id",
"api_key": "your_api_key",
},
"model": "speech-02-turbo-preview",
"voice_setting": {
"voice_id": "male-qn-qingse"
}
}
}
{
"Vendor": "CosyVoice",
"Params": {
"app": {
"api_key": "your_api_key"
},
"payload": {
"model": "cosyvoice-v2",
"parameters": {
"voice": "longxiaochun_v2"
}
}
}
}
FilterText object[]
过滤文本的开始标点符号。例如,如果要过滤 () 中的内容,请设置为 (。
过滤文本的结束标点符号。例如,如果要过滤 () 中的内容,请设置为 )。
ASR object
热词列表用于提高识别准确率。格式:Hotword1|Weight1,Hotword2|Weight2,Hotword3|Weight3
单个热词不超过 30 个字符(最多 10 个汉字),不能包含空格,权重范围:[-1, 11]。 最多支持 128 个热词
📌 重要说明
当权重为 11 时,表示该词为超级热词。建议仅将重要且必须生效的热词设置到 11,过多权重为 11 的热词会影响识别效果。
扩展参数,详情请联系 ZEGO 技术支持。
Possible values: >= 200
and <= 2000
Default value: 500
用于设置用户说话停顿多少秒后,不再将两句话视为一句。 单位为 ms,范围 [200,2000],默认为 500。
Possible values: >= 200
and <= 2000
用于设置用户说话停顿多少秒内,将两句话视为一句,即 ASR 多句拼接。 单位为 ms,范围 [200,2000]。 仅当此值大于 VADSilenceSegmentation 时,才会启用 ASR 多句拼接。
MessageHistory object
Possible values: [0
, 1
]
Default value: 0
消息同步模式:
Messages object[]
<= 100
Possible values: [user
, assistant
]
消息发送者的角色
消息内容
Possible values: >= 0
and <= 100
Default value: 20
每次调用 LLM 服务时使用的近期历史消息数量。影响 LLM 上下文理解能力,建议设置为 10-30。
ZIM object
📌 重要说明
- 仅当 MessageHistory.SyncMode 为 0 时有效。
- 请确保您的项目已开通 ZIM 服务。
- 请确保已调用 ZIM 机器人注册接口,并将返回的 UserInfo.UserId 作为 RobotId。
- 建议您提前注册机器人,以便完善用户信息设置并提升智能体实例的创建效率。
ZIM 机器人 ID。即调用 ZIM 注册机器人接口对应的 UserInfo.UserId 。用于加载用户与该 ZIM 机器人的聊天上下文,并将对话过程中产生的消息同步至 ZIM。如果此参数为空,实时互动 AI Agent 后台将随机生成。
Possible values: >= 0
and <= 100
创建智能体实例时,从 ZIM 服务获取多少条消息作为上下文。默认为 WindowSize 的值(取值上限)。
CallbackConfig object
📌 重要说明
在配置以下参数前,你需要参考 接收回调 设置好回调地址,并了解具体字段说明。
Possible values: [0
, 1
]
Default value: 0
是否开启服务端回调 ASR 结果。
Possible values: [0
, 1
]
Default value: 0
是否开启服务端回调 LLM 结果。如果开启,则 ZEGO 服务端将会按照每句话返回 LLM 输出结果。
Possible values: [0
, 1
]
Default value: 0
是否开启服务端回调智能体被打断结果。
Possible values: [0
, 1
]
Default value: 0
是否开启服务端回调用户说话的回调。
Possible values: [0
, 1
]
Default value: 0
是否开启服务端回调智能体说话的回调。
Possible values: [0
, 1
]
Default value: 0
是否开启服务端回调用户说话音频数据。
AdvancedConfig object
Possible values: [0
, 1
]
Default value: 0
智能体说话时被用户语音打断的模式:
Responses
- 200
- application/json
- Schema
- Example (from schema)
Schema
返回码,0 表示成功,其他值表示失败。详情请参考 返回码 说明。
请求结果说明
请求 ID
Data object
智能体实例的唯一标识。
{
"Code": 0,
"Message": "Success",
"RequestId": "3151527792559699732",
"Data": {
"AgentInstanceId": "1912122918452641792"
}
}
- curl
- python
- go
- nodejs
- ruby
- csharp
- php
- java
- powershell
- CURL
Click the "Send" button above and see the response here!