Conversation
Authentication
Conversation History
接口功能: 获取用户的 conversation 历史
Method & Path
-
GET {domain}/bp/ai/conversation/query
-
GET {domain}/bp/server/user/{user_id}/ai/conversation/query
Request
Parameters | Type | Required | Desc |
---|---|---|---|
conversation_id | string | true | conversation id |
from | int | false | 默认为 -1(表示从最后一条开始查), from 代表 record_id -1 |
size | int | false | 查询记录的最大条数,默认为 10 |
record_id | int | false | 查询指定 record,如果存在则会忽视 from 和 size |
Response
json
{
"asset": [
{
"name": "ai_free_asset",
"quantity": 984,
"recoverable": false,
"type": "consumable",
"valid_seconds": 0
},
{
"name": "tt",
"quantity": 3,
"recoverable": false,
"type": "consumable",
"valid_seconds": 0
},
{
"bp_product_id": "BUY4MF6V5ZJGXXJ3",
"custom_expire_time": "0001-01-01T00:00:00Z",
"expire_time": "2024-11-23T06:41:25Z",
"is_auto_renewable": false,
"is_consumable": true,
"is_refund": false,
"is_trial_period": false,
"last_recovery_time": "2025-02-22T01:06:34Z",
"name": "ai_vip_asset",
"origin": "purchase",
"platform": "stripe",
"product_id": "prod_R4lGIYYAij8OBZ",
"quantity": 0,
"receipt_id": "sub_1QCbmTDESvfLoR1GbdjJ6F6I",
"recoverable": true,
"refund_time": "0001-01-01T00:00:00Z",
"sub_canceled": false,
"sub_canceled_time": "0001-01-01T00:00:00Z",
"sub_canceled_ts": 0,
"total_quantity": 0,
"type": "subscription",
"valid_seconds": 0
},
{
"bp_product_id": "",
"custom_expire_time": "2025-03-08T09:25:12.484303Z",
"expire_time": "0001-01-01T00:00:00Z",
"is_auto_renewable": false,
"is_consumable": true,
"is_refund": false,
"is_trial_period": false,
"name": "vip",
"origin": "purchase",
"platform": "",
"product_id": "",
"quantity": 1000,
"receipt_id": "",
"refund_time": "0001-01-01T00:00:00Z",
"sub_canceled": false,
"sub_canceled_time": "0001-01-01T00:00:00Z",
"sub_canceled_ts": 0,
"total_quantity": 1000,
"type": "subscription",
"valid_seconds": 0
}
],
"data": {
"conversation": {
"conversation_id": "780968103348654080",
"status": "normal",
"last_record_id": 1,
"record_count": 1,
"record_token": 0,
"sys_created_time": "2025-06-05T01:28:25.524882Z",
"sys_updated_time": "2025-06-05T01:28:31.353347Z"
},
"conversation_records": [
{
"record_id": 1,
"conversation_id": "780968103348654080",
"content": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "hi,what's your name and my name and what do you want to do? please give a simple answer more than three paragraphs and use \n to split the paragraphs and first paragraph is only one sentences",
"source": {
"from_user": true,
"platform": "",
"model": ""
}
}
]
},
{
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! My name is Lily. Your name is Sine. I want to ask you about your interests and what you would like to do together. Let's have a fun conversation and get to know each other better.",
"delimiter": "\n\n",
"source": {
"from_user": false,
"platform": "openai",
"model": "gpt-3.5-turbo"
}
},
{
"type": "text",
"text": "I believe that communication is key in any relationship, so I am looking forward to hearing more about you. Let's share our thoughts, dreams, and experiences to create a meaningful connection. Feel free to open up and express yourself, I am here to listen and engage with you.",
"delimiter": "\n\n",
"source": {
"from_user": false,
"platform": "openai",
"model": "gpt-3.5-turbo"
}
},
{
"type": "text",
"text": "Let's explore new ideas and activities that excite us both. Whether it's trying out a new hobby, discussing our favorite books or movies, or simply sharing funny stories, I am eager to bond with you on a deeper level. Let's make our interaction memorable and enjoyable.",
"source": {
"from_user": false,
"platform": "openai",
"model": "gpt-3.5-turbo"
}
}
]
},
{
"role": "assistant",
"content": [
{
"type": "audio_url",
"audio_url": {
"url": "https://715x351k8o.debug-static.bytepowerapp.cn/ai/conversation/2025-06-05/780968103348654080_segment_0/780968127059054592.mp3"
},
"viseme_url": {
"url": "https://715x351k8o.debug-static.bytepowerapp.cn/conversation/2025-06-05/780968103348654080_merged_viseme_0/780968126861922304.json"
},
"source": {
"from_user": false,
"platform": "azure",
"model": ""
}
},
{
"type": "audio_url",
"audio_url": {
"url": "https://715x351k8o.debug-static.bytepowerapp.cn/ai/conversation/2025-06-05/780968103348654080_segment_1/780968124898988032.mp3"
},
"viseme_url": {
"url": "https://715x351k8o.debug-static.bytepowerapp.cn/conversation/2025-06-05/780968103348654080_viseme/780968124668301312.json"
},
"source": {
"from_user": false,
"platform": "azure",
"model": ""
}
},
{
"type": "audio_url",
"audio_url": {
"url": "https://715x351k8o.debug-static.bytepowerapp.cn/ai/conversation/2025-06-05/780968103348654080_segment_2/780968127503650816.mp3"
},
"viseme_url": {
"url": "https://715x351k8o.debug-static.bytepowerapp.cn/conversation/2025-06-05/780968103348654080_viseme/780968127281352704.json"
},
"source": {
"from_user": false,
"platform": "azure",
"model": ""
}
}
]
}
],
"strategy": "conversation_openai_openai_azure",
"sys_created_time": "2025-06-05T01:28:31.349669Z",
"sys_updated_time": "2025-06-05T01:28:31.349669Z"
}
]
}
}
Conversation
接口功能:聊天,可以语音输入输出
Method & Path
-
POST {domain}/bp/ai/conversation
-
POST {domain}/bp/server/user/{user_id}/ai/conversation
Request
说明:
- request body 是 chunk 格式,需要分段发送
- request body 编码为 Transfer-Encoding,但是不能在 header 添加 Transfer-Encoding
- 第一个 chuank 为 conversation 的参数
- 后续 chunk 为 audio/text stream 内容
- audio stream,需要使用 base64 编码,并且不能添加
data:audio/mp3;base64,
前缀 - audio stream 除开最后一个 chunk, 其它 chunk base64 编码时不能填充
- 语言代码参考: Language Codes
- viseme 文件取决于 TTS 是否支持,可能没有
第一个 chunk 的参数:
Parameters | Type | Required | Desc |
---|---|---|---|
strategies | []string | true | 策略列表,如果发起请求时失败会自动切换策略 |
conversation_id | string | false | 为空则会自动生成,如果非空则使用已有的 conversation |
language_code | string | true | 标识 用户输入的 语言 |
voice | string | false | 音色,目前只适用于微软平台 |
stt_prompt | string | false | stt 转化的提示词,目前只 openai 有效,为空会以 BytePower Console 配置为准 |
target_language_code | string | true | 标识 AI 生成的语言(部分 TTS 模型需要使用) |
type | string | true | 标识 请求类型,目前支持 text 和 audio 两种类型 |
params | object | false | 用于渲染 system prompt 模版参数 |
text example:
POST /conversation HTTP/1.1
Content-Type: text/plain
a6\r\n{"strategies":["conversation_aws_openai_aws"],"conversation_id":"753143126012985344","language_code":"en-US","target_language_code":"en-US","type":"text","params":{}}\r\n2\r\nhi\r\n0\r\n\r\n
audio example:
POST /conversation HTTP/1.1
Content-Type: text/plain
a7\r\n{"strategies":["conversation_aws_openai_aws"],"conversation_id":"753143126012985344","language_code":"en-US","target_language_code":"en-US","type":"audio","params":{}}\r\nx\r\{x_byte_audio}i\r\n0\r\n\r\n
Response
json
200
event: start
data: {"content":"start","timestamp":1749086905527}
event: ping
data: {"content":"ping","timestamp":1749086905533}
event: user_input
data: {"content":"hi,what's your name and my name and what do you want to do? please give a simple answer more than three paragraphs and use \n to split the paragraphs and first paragraph is only one sentences","timestamp":1749086905533}
event: ping
data: {"content":"ping","timestamp":1749086905533}
event: assistant_output_chunk
data: {"content":{"index":0,"text":"Hello"},"timestamp":1749086907278}
event: assistant_output_audio_first_sentence_enabled
data: {"content":true,"timestamp":1749086907279}
event: assistant_output_chunk
data: {"content":{"index":0,"text":"!"},"timestamp":1749086907279}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" My"},"timestamp":1749086907308}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" name"},"timestamp":1749086907308}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" is"},"timestamp":1749086907327}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" Lily"},"timestamp":1749086907327}
event: assistant_output_chunk
data: {"content":{"index":0,"text":"."},"timestamp":1749086907374}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" Your"},"timestamp":1749086907374}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" name"},"timestamp":1749086907381}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" is"},"timestamp":1749086907381}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" S"},"timestamp":1749086907413}
event: assistant_output_chunk
data: {"content":{"index":0,"text":"ine"},"timestamp":1749086907413}
event: assistant_output_chunk
data: {"content":{"index":0,"text":"."},"timestamp":1749086907425}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" I"},"timestamp":1749086907425}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" want"},"timestamp":1749086907491}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" to"},"timestamp":1749086907491}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" ask"},"timestamp":1749086907522}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" you"},"timestamp":1749086907522}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" about"},"timestamp":1749086907542}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" your"},"timestamp":1749086907542}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" interests"},"timestamp":1749086907577}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" and"},"timestamp":1749086907577}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" what"},"timestamp":1749086907594}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" you"},"timestamp":1749086907594}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" would"},"timestamp":1749086907612}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" like"},"timestamp":1749086907612}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" to"},"timestamp":1749086907634}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" do"},"timestamp":1749086907634}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" together"},"timestamp":1749086907657}
event: assistant_output_chunk
data: {"content":{"index":0,"text":"."},"timestamp":1749086907657}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" Let"},"timestamp":1749086907683}
event: assistant_output_chunk
data: {"content":{"index":0,"text":"'s"},"timestamp":1749086907684}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" have"},"timestamp":1749086907715}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" a"},"timestamp":1749086907715}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" fun"},"timestamp":1749086907730}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" conversation"},"timestamp":1749086907730}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" and"},"timestamp":1749086907752}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" get"},"timestamp":1749086907753}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" to"},"timestamp":1749086907789}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" know"},"timestamp":1749086907789}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" each"},"timestamp":1749086907802}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" other"},"timestamp":1749086907802}
event: assistant_output_chunk
data: {"content":{"index":0,"text":" better"},"timestamp":1749086907822}
event: assistant_output_chunk
data: {"content":{"index":0,"text":"."},"timestamp":1749086907822}
event: assistant_output_content_segment
data: {"content":{"index":0,"text":"Hello! My name is Lily. Your name is Sine. I want to ask you about your interests and what you would like to do together. Let's have a fun conversation and get to know each other better."},"timestamp":1749086907850}
event: assistant_output_chunk
data: {"content":{"index":1,"text":"I"},"timestamp":1749086907850}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" believe"},"timestamp":1749086907871}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" that"},"timestamp":1749086907871}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" communication"},"timestamp":1749086907892}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" is"},"timestamp":1749086907892}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" key"},"timestamp":1749086907917}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" in"},"timestamp":1749086907917}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" any"},"timestamp":1749086907939}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" relationship"},"timestamp":1749086907939}
event: assistant_output_chunk
data: {"content":{"index":1,"text":","},"timestamp":1749086907964}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" so"},"timestamp":1749086907964}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" I"},"timestamp":1749086907988}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" am"},"timestamp":1749086907988}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" looking"},"timestamp":1749086908019}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" forward"},"timestamp":1749086908019}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" to"},"timestamp":1749086908040}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" hearing"},"timestamp":1749086908040}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" more"},"timestamp":1749086908066}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" about"},"timestamp":1749086908066}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" you"},"timestamp":1749086908096}
event: assistant_output_chunk
data: {"content":{"index":1,"text":"."},"timestamp":1749086908096}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" Let"},"timestamp":1749086908109}
event: assistant_output_chunk
data: {"content":{"index":1,"text":"'s"},"timestamp":1749086908109}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" share"},"timestamp":1749086908136}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" our"},"timestamp":1749086908136}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" thoughts"},"timestamp":1749086908156}
event: assistant_output_chunk
data: {"content":{"index":1,"text":","},"timestamp":1749086908156}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" dreams"},"timestamp":1749086908183}
event: assistant_output_chunk
data: {"content":{"index":1,"text":","},"timestamp":1749086908183}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" and"},"timestamp":1749086908202}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" experiences"},"timestamp":1749086908202}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" to"},"timestamp":1749086908226}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" create"},"timestamp":1749086908226}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" a"},"timestamp":1749086908251}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" meaningful"},"timestamp":1749086908251}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" connection"},"timestamp":1749086908272}
event: assistant_output_chunk
data: {"content":{"index":1,"text":"."},"timestamp":1749086908272}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" Feel"},"timestamp":1749086908295}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" free"},"timestamp":1749086908295}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" to"},"timestamp":1749086908318}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" open"},"timestamp":1749086908318}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" up"},"timestamp":1749086908355}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" and"},"timestamp":1749086908355}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" express"},"timestamp":1749086908365}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" yourself"},"timestamp":1749086908365}
event: assistant_output_chunk
data: {"content":{"index":1,"text":","},"timestamp":1749086908387}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" I"},"timestamp":1749086908387}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" am"},"timestamp":1749086908416}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" here"},"timestamp":1749086908416}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" to"},"timestamp":1749086908437}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" listen"},"timestamp":1749086908437}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" and"},"timestamp":1749086908466}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" engage"},"timestamp":1749086908466}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" with"},"timestamp":1749086908480}
event: assistant_output_chunk
data: {"content":{"index":1,"text":" you"},"timestamp":1749086908480}
event: assistant_output_chunk
data: {"content":{"index":1,"text":"."},"timestamp":1749086908516}
event: assistant_output_content_segment
data: {"content":{"index":1,"text":"I believe that communication is key in any relationship, so I am looking forward to hearing more about you. Let's share our thoughts, dreams, and experiences to create a meaningful connection. Feel free to open up and express yourself, I am here to listen and engage with you."},"timestamp":1749086908516}
event: assistant_output_chunk
data: {"content":{"index":2,"text":"Let"},"timestamp":1749086908531}
event: assistant_output_chunk
data: {"content":{"index":2,"text":"'s"},"timestamp":1749086908531}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" explore"},"timestamp":1749086908571}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" new"},"timestamp":1749086908571}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" ideas"},"timestamp":1749086908624}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" and"},"timestamp":1749086908624}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" activities"},"timestamp":1749086908629}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" that"},"timestamp":1749086908629}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" exc"},"timestamp":1749086908644}
event: assistant_output_chunk
data: {"content":{"index":2,"text":"ite"},"timestamp":1749086908644}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" us"},"timestamp":1749086908663}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" both"},"timestamp":1749086908663}
event: assistant_output_chunk
data: {"content":{"index":2,"text":"."},"timestamp":1749086908692}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" Whether"},"timestamp":1749086908692}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" it"},"timestamp":1749086908710}
event: assistant_output_chunk
data: {"content":{"index":2,"text":"'s"},"timestamp":1749086908710}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" trying"},"timestamp":1749086908731}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" out"},"timestamp":1749086908732}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" a"},"timestamp":1749086908755}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" new"},"timestamp":1749086908755}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" hobby"},"timestamp":1749086908781}
event: assistant_output_chunk
data: {"content":{"index":2,"text":","},"timestamp":1749086908781}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" discussing"},"timestamp":1749086908811}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" our"},"timestamp":1749086908811}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" favorite"},"timestamp":1749086908831}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" books"},"timestamp":1749086908831}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" or"},"timestamp":1749086908863}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" movies"},"timestamp":1749086908863}
event: assistant_output_chunk
data: {"content":{"index":2,"text":","},"timestamp":1749086908878}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" or"},"timestamp":1749086908878}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" simply"},"timestamp":1749086908899}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" sharing"},"timestamp":1749086908899}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" funny"},"timestamp":1749086908940}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" stories"},"timestamp":1749086908940}
event: assistant_output_chunk
data: {"content":{"index":2,"text":","},"timestamp":1749086908947}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" I"},"timestamp":1749086908947}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" am"},"timestamp":1749086908968}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" eager"},"timestamp":1749086908969}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" to"},"timestamp":1749086908990}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" bond"},"timestamp":1749086908990}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" with"},"timestamp":1749086909015}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" you"},"timestamp":1749086909015}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" on"},"timestamp":1749086909042}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" a"},"timestamp":1749086909043}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" deeper"},"timestamp":1749086909064}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" level"},"timestamp":1749086909065}
event: assistant_output_chunk
data: {"content":{"index":2,"text":"."},"timestamp":1749086909106}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" Let"},"timestamp":1749086909106}
event: assistant_output_chunk
data: {"content":{"index":2,"text":"'s"},"timestamp":1749086909132}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" make"},"timestamp":1749086909132}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" our"},"timestamp":1749086909153}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" interaction"},"timestamp":1749086909153}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" memorable"},"timestamp":1749086909182}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" and"},"timestamp":1749086909182}
event: assistant_output_chunk
data: {"content":{"index":2,"text":" enjoyable"},"timestamp":1749086909202}
event: assistant_output_chunk
data: {"content":{"index":2,"text":"."},"timestamp":1749086909202}
event: assistant_output_content_segment
data: {"content":{"index":2,"text":"Let's explore new ideas and activities that excite us both. Whether it's trying out a new hobby, discussing our favorite books or movies, or simply sharing funny stories, I am eager to bond with you on a deeper level. Let's make our interaction memorable and enjoyable."},"timestamp":1749086909210}
event: assistant_output
data: {"content":"Hello! My name is Lily. Your name is Sine. I want to ask you about your interests and what you would like to do together. Let's have a fun conversation and get to know each other better. \n\nI believe that communication is key in any relationship, so I am looking forward to hearing more about you. Let's share our thoughts, dreams, and experiences to create a meaningful connection. Feel free to open up and express yourself, I am here to listen and engage with you. \n\nLet's explore new ideas and activities that excite us both. Whether it's trying out a new hobby, discussing our favorite books or movies, or simply sharing funny stories, I am eager to bond with you on a deeper level. Let's make our interaction memorable and enjoyable.","timestamp":1749086909211}
event: assistant_output_audio_first_sentence
data: {"content":{"audio":"XXX","index":0,"viseme_url":"https://715x351k8o.debug-static.bytepowerapp.cn/conversation/2025-06-05/780968103348654080_viseme/780968118863384576.json","viseme_data":[{"offset": "50","viseme_id": "0"}]},"timestamp":1749086909274}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":0},"timestamp":1749086909390}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":0},"timestamp":1749086909445}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":0},"timestamp":1749086909445}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":0},"timestamp":1749086909630}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":0},"timestamp":1749086909677}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":0},"timestamp":1749086909678}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":0},"timestamp":1749086909678}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":0},"timestamp":1749086909678}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":0},"timestamp":1749086909681}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":0},"timestamp":1749086909728}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":0},"timestamp":1749086909728}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":0},"timestamp":1749086909866}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":0},"timestamp":1749086909867}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":0},"timestamp":1749086909867}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910137}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910137}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910257}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910257}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910359}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910359}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910360}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910360}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910364}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910364}
event: assistant_output_content_segment_end
data: {"content":{"audio_url":"https://715x351k8o.debug-static.bytepowerapp.cn/ai/conversation/2025-06-05/780968103348654080_segment_0/780968127059054592.mp3","index":0,"viseme_url":"https://715x351k8o.debug-static.bytepowerapp.cn/conversation/2025-06-05/780968103348654080_merged_viseme_0/780968126861922304.json","viseme_data":[{"offset": "50","viseme_id": "0"}],"remaining_viseme_url":"https://715x351k8o.debug-static.bytepowerapp.cn/conversation/2025-06-05/780968103348654080_merged_viseme_0/780968126861922304.json","remaining_viseme_data":[{"offset": "50","viseme_id": "0"}]},"timestamp":1749086910365}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910484}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910486}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910488}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910489}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910489}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910589}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910591}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910593}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910598}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910600}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910601}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910602}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910603}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":1},"timestamp":1749086910606}
event: assistant_output_content_segment_end
data: {"content":{"audio_url":"https://715x351k8o.debug-static.bytepowerapp.cn/ai/conversation/2025-06-05/780968103348654080_segment_1/780968124898988032.mp3","index":1,"viseme_url":"https://715x351k8o.debug-static.bytepowerapp.cn/conversation/2025-06-05/780968103348654080_viseme/780968124668301312.json"},"timestamp":1749086910719}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086910771}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086910772}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086910773}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086910808}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086910994}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086910997}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086910998}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911035}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911036}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911174}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911175}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911175}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911176}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911176}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911223}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911223}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911228}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911228}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911229}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911229}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911229}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911229}
event: assistant_output_content_segment_audio
data: {"content":{"audio":"XXX","index":2},"timestamp":1749086911230}
event: assistant_output_content_segment_end
data: {"content":{"audio_url":"https://715x351k8o.debug-static.bytepowerapp.cn/ai/conversation/2025-06-05/780968103348654080_segment_2/780968127503650816.mp3","index":2,"viseme_url":"https://715x351k8o.debug-static.bytepowerapp.cn/conversation/2025-06-05/780968103348654080_viseme/780968127281352704.json"},"timestamp":1749086911348}
event: assistant_output_content_segment_all
data: {"content":{"count":3,"segment_urls":{"0":"https://715x351k8o.debug-static.bytepowerapp.cn/ai/conversation/2025-06-05/780968103348654080_segment_0/780968127059054592.mp3","1":"https://715x351k8o.debug-static.bytepowerapp.cn/ai/conversation/2025-06-05/780968103348654080_segment_1/780968124898988032.mp3","2":"https://715x351k8o.debug-static.bytepowerapp.cn/ai/conversation/2025-06-05/780968103348654080_segment_2/780968127503650816.mp3"},"viseme_urls":{"0":"https://715x351k8o.debug-static.bytepowerapp.cn/conversation/2025-06-05/780968103348654080_merged_viseme_0/780968126861922304.json","1":"https://715x351k8o.debug-static.bytepowerapp.cn/conversation/2025-06-05/780968103348654080_viseme/780968124668301312.json","2":"https://715x351k8o.debug-static.bytepowerapp.cn/conversation/2025-06-05/780968103348654080_viseme/780968127281352704.json"}},"timestamp":1749086911348}
event: conversation
data: {"content":{"record_id":1,"conversation_id":"780968103348654080","content":[{"role":"user","content":[{"type":"text","text":"hi,what's your name and my name and what do you want to do? please give a simple answer more than three paragraphs and use \n to split the paragraphs and first paragraph is only one sentences","source":{"from_user":true,"platform":"","model":""}}]},{"role":"assistant","content":[{"type":"text","text":"Hello! My name is Lily. Your name is Sine. I want to ask you about your interests and what you would like to do together. Let's have a fun conversation and get to know each other better.","delimiter":"\n\n","source":{"from_user":false,"platform":"openai","model":"gpt-3.5-turbo"}},{"type":"text","text":"I believe that communication is key in any relationship, so I am looking forward to hearing more about you. Let's share our thoughts, dreams, and experiences to create a meaningful connection. Feel free to open up and express yourself, I am here to listen and engage with you.","delimiter":"\n\n","source":{"from_user":false,"platform":"openai","model":"gpt-3.5-turbo"}},{"type":"text","text":"Let's explore new ideas and activities that excite us both. Whether it's trying out a new hobby, discussing our favorite books or movies, or simply sharing funny stories, I am eager to bond with you on a deeper level. Let's make our interaction memorable and enjoyable.","source":{"from_user":false,"platform":"openai","model":"gpt-3.5-turbo"}}]},{"role":"assistant","content":[{"type":"audio_url","audio_url":{"url":"https://715x351k8o.debug-static.bytepowerapp.cn/ai/conversation/2025-06-05/780968103348654080_segment_0/780968127059054592.mp3"},"viseme_url":{"url":"https://715x351k8o.debug-static.bytepowerapp.cn/conversation/2025-06-05/780968103348654080_merged_viseme_0/780968126861922304.json"},"source":{"from_user":false,"platform":"azure","model":""}},{"type":"audio_url","audio_url":{"url":"https://715x351k8o.debug-static.bytepowerapp.cn/ai/conversation/2025-06-05/780968103348654080_segment_1/780968124898988032.mp3"},"viseme_url":{"url":"https://715x351k8o.debug-static.bytepowerapp.cn/conversation/2025-06-05/780968103348654080_viseme/780968124668301312.json"},"source":{"from_user":false,"platform":"azure","model":""}},{"type":"audio_url","audio_url":{"url":"https://715x351k8o.debug-static.bytepowerapp.cn/ai/conversation/2025-06-05/780968103348654080_segment_2/780968127503650816.mp3"},"viseme_url":{"url":"https://715x351k8o.debug-static.bytepowerapp.cn/conversation/2025-06-05/780968103348654080_viseme/780968127281352704.json"},"source":{"from_user":false,"platform":"azure","model":""}}]}],"strategy":"conversation_openai_openai_azure","sys_created_time":"0001-01-01T00:00:00Z","sys_updated_time":"0001-01-01T00:00:00Z","unit_prices":{"chat":{"input_per_price":4.434,"input_token":78,"output_per_price":5.1,"output_token":51},"stt":{"input_per_price":2.244,"input_token":0,"output_per_price":0,"output_token":0},"tts":{"input_per_price":2.1,"input_token":50,"output_per_price":2.3,"output_token":318}}},"timestamp":1749086911355}
event: end
data: {"content":"end","timestamp":1749086911355}
Event:
会话控制事件
Event Name | Desc |
---|---|
start | 会话开始标记,包含时间戳 |
end | 会话结束标记,包含时间戳 |
ping | 保持连接的心跳事件,包含时间戳 |
error | 错误信息,如果出现错误会直接返回并且中断 |
用户输入事件
Event Name | Desc |
---|---|
user_input | 用户的文字输入或者用户语音输入的 STT 识别结果 |
助手输出事件
Event Name | Desc |
---|---|
assistant_output_chunk | AI 聊天模型的文字输出 chunk |
assistant_output | AI 聊天模型的文字输出 |
assistant_output_audio_first_sentence_enabled | 标记是否启用首句语音,值为布尔类型,未启用不会发送该事件,该事件会在所有 audio 事件前发送 |
assistant_output_audio_first_sentence | 助手回复首句的音频数据,base64 编码 ,如果有 viseme,会有 viseme_url 和 viseme_data,可以参考上面示例 |
内容分段事件
Event Name | Desc |
---|---|
assistant_output_content_segment | 助手回复的完整段落,包含索引、文本内容和时间戳 |
assistant_output_content_segment_audio | 段落的音频数据片段 |
assistant_output_content_segment_end | 段落音频结束标记,包含音频 URL 和段落索引和 viseme_url、viseme_data。如果 index 是 0 且有第一句话切割的话,会有 remaining_viseme_data 和 remaining_viseme_url。 |
assistant_output_content_segment_all | 所有段落的汇总信息,包含段落数量和各段落的音频 URL 和 viseme_url |
会话记录事件
Event Name | Desc |
---|---|
conversation | 完整会话记录,包含对话 ID、用户和助手的所有内容、来源信息、时间戳和 unit_prices。end 事件前会发送 |
unit_prices 字段说明: unit_prices 字段记录会话中各项 AI 服务(chat/stt/tts)的单价配置和实际 token 消耗量,用于精确计算服务成本。
Error
参数错误(会自动切换策略)
json
{
"error": {
"error_type": "invalid_parameter",
"message": "invalid_parameter(malformed chunked encoding)"
}
}
请求过程中错误(不会自动切换策略)
以下错误服务端会直接返回,不进行 策略重试
- user_input_text_too_long(用户输入文字超过 1000)
- in_progress_stt_output(STT 过程中错误)
- in_progress_chat_output(chat stream 过程中错误)
- in_progress_tts_output(tts 过程中错误)
json
event: error
data: {"message":"err_unknown","error_type":"err_unknown"}