播报自定义消息

更新时间不可用

让指定智能体播报自定义消息。

POST
https://api.agora.io/cn/api/conversational-ai-agent/v2/projects/{appid}/agents/{agentId}/speak

与智能体对话期间,调用该接口可以让智能体使用 TTS 模块立刻播报自定义消息。智能体收到请求后,播报行为会打断当前说话和思考流程。

鉴权

Basic Auth

使用 HTTP 基本认证时,将由客户 ID 和客户密钥生成的凭证填入 HTTP 请求的 Authorization Header。具体生成方法请参考实现 HTTP 鉴权。

Agora Token

推荐使用 Token 认证。请参考实现 HTTP 鉴权生成 Token,并填入 HTTP 请求的 Authorization Header。传参示例:Authorization: agora token="007abcxxxxxxx123"。

路径参数

appidstring
必填

你的项目使用的 App ID。

agentIdstring
必填

智能体实例 ID,即智能体的唯一标识。调用 POST 创建对话式智能体 成功后在响应包体中获取。

请求 Header

Authorizationstring
必填

发送 HTTP 请求时,你可以从以下鉴权方式中任选其一:

  1. 使用 Token 认证(推荐):参考实现 HTTP 鉴权生成 Token 并填入 Authorization Header。传参示例:Authorization: agora token="007abcxxxxxxx123"。
  2. 使用 Basic Auth:参考实现 HTTP 鉴权生成 Base64 编码的 Authorization 字段。传参示例:Authorization: Basic NDI1OTQ3N2I4MzYy...YwZjA=。

请求 Body

textstring
必填

播报的文本内容,最长不超过 512 字节 (bytes)。

prioritystring

播报行为的优先级,支持设为以下值:

  • "INTERRUPT":(默认)高优先级,打断并播报。智能体会终止当前交互,直接播报消息。
  • "APPEND": 中优先级,追加播报。智能体会在当前交互结束后播报消息。
  • "IGNORE": 低优先级,空闲时播报。如果此时智能体正在交互,智能体会直接忽略并丢弃要播报的消息;只有智能体不在交互中才会播报消息。
interruptableboolean

是否允许用户说话打断智能体播报:

  • true:(默认)允许。
  • false:不允许。

响应

  • 若返回的状态码为 200 则表示请求成功。响应包体为智能体信息,智能体开始播报指定内容。
  • 若返回的状态码不为 200 则表示请求失败。响应包体中包含错误的类别和描述,你可以参考响应状态码了解可能的原因。

响应 Body

agent_idstring

对话式智能体 ID,即智能体唯一标识。

channelstring

智能体所在 RTC 频道名。

start_tsinteger

智能体创建时间戳。

请求示例

Example Request
curl --request POST \
  --url "https://api.agora.io/cn/api/conversational-ai-agent/v2/projects/:appid/agents/:agentId/speak" \
  --header 'Authorization: agora token="007abcxxxxxxx123"' \
  -H 'Content-Type: application/json' \
  -d '{
  "text": "抱歉,对话内容不符合规范。",
  "priority": "INTERRUPT",
  "interruptable": false
}'

响应示例

{
  "agent_id": "1NT29XxxxxxxxxELWEHC8OS",
  "channel": "test_channel",
  "start_ts": 1744877089
}