原子能力-图片生成
多模态图片生成
接口描述
- 接口概述
本接口为开发者提供多模态图片生成能力。调用者输入文本或语音指令进行文生图或图生图, 经由云端解码、转码,输出统一格式,通过 HTTP SSE (Server-Sent Events) 协议下发 Base64 编码的图片帧和文本帧。
- 交互流程
用户可以通过自然语言(语音或文字)下发指令,例如:
“生成小狗的图片”
“生成小猫的图片”
- 权限说明
当前版本为调试版本,相关api可以直接调用。待后续更新为正式版本后,需要安装sdk后通过license激活使用。
请求结构
1POST /sse/v{version}/aiagent/chat/completions/picture/generate HTTP/1.1
2Host: gwgp-tdvpwojkegj.i.bdcloudapi.com
3Authorization: Bearer string
4{
5 "messages": [
6 {
7 "contentItems": [
8 {
9 "type":"text",
10 "text":"生成****的图片"
11 },
12 {
13 "type":"audio",
14 "audio":{
15 "data":"base64xxxx"
16 }
17 }
18 ]
19 }
20 ],
21 "metadata": {
22 "image_generate_model": "",
23 "refer_image":"",
24 "media_height": ****,
25 "media_width": ****
26 },
27 "response_format": {
28 "enable_tts": true,
29 "resource_type": "url"
30 }
31 }
请求头域
除公共头域外,无其它特殊头域。(后续正式版需要携带 authorization )
请求参数
| 参数名称 | 类型 | 是否必选 | 参数位置 | 描述 |
|---|---|---|---|---|
| messages | List<Object> | 是 | RequestBody | 用户query列表。多种类型同时存在时,以text为准;同一类型多个值时,仅第一个值生效 |
| +contentItems | List<Object> | 是 | RequestBody | 请求内容列表 |
| ++ type | String | 是 | RequestBody | qurey类型 |
| ++ text | String | type=text时,必选 | RequestBody | 文本型query内容 |
| ++ audio | Object | type=audio时,必选 | RequestBody | 语音型query内容的对象 |
| +++ data | String | type=audio时,必选 | RequestBody | base64编码的语音query字符串,仅支持WAV 音频(16kHz 16-bit 单声道) |
| metadata | Object | 否 | RequestBody | 指定的图片信息 |
| + image_generate_model | String | 否 | RequestBody | 生图模型,当前支持模型:standard_picture、fast_picture、turbo_picture |
| + refer_image | String | 否 | RequestBody | 参考图片,支持url,支持base64(格式必须为 data:image/<格式>;base64,<Base64编码> ) |
| + media_height | Integer | 否 | RequestBody | 生成图片的高度,默认值100,取值范围是100-4096,高宽之比范围0.25-4 |
| + media_width | Integer | 否 | RequestBody | 生成图片的宽度,默认值100,取值范围是100-4096,高宽之比范围0.25-4 |
| + prompt_ext | String | 否 | RequestBody | 系统提示词 |
| + lang | String | 否 | RequestBody | 语音识别和提示语语种,支持 zh(中文)、en(英文)、ja(日语)、ko(韩语)、fr(法语)、de(德语)、es(西班牙语)、pt(葡萄牙语)、ru(俄语)、ar(阿拉伯语)、id(印尼语)、th(泰语)、vi(越南语)、ms(马来语)、auto(自动识别),默认 zh |
| response_format | Object | 是 | RequestBody | 指定的返回内容信息 |
| + resource_type | String | 是 | RequestBody | 图片返回类型,当前支持url、image(turbo_picture仅支持返回image类型图片) |
| + enable_tts | Boolean | 否 | RequestBody | 是否语音播报文本内容,默认为false,PCM 音频(16kHz 16-bit 单声道),当前支持 zh、en、vi、pt、es、id,其它默zh |
响应头域
除公共头域外,无其它特殊头域。
响应参数
SSE格式返回,具体类型如下:
"type":"EVENT" + message含"[IMAGE_GENERATE_START]" -> 生图任务开始,含实际生图 prompt 和 taskId
"type":"TTS_TTSDK_DIRECTLY" -> 生图提示语文本("图片生成中,请稍候" / "图片已生成")
"type":"tts.begin" -> 开始播报 TTS 音频
"type":"audio.header" -> 音频格式信息,message 含 {"format":"pcm","sample_rate":16000,"channel":1}
"type":"audio.content" -> TTS 音频数据块(PCM 16kHz 16-bit 单声道),message 含 {"base64Audio":"..."}
"type":"tts.end" -> TTS 播报结束
"type":"EVENT" + message含"[MEDIA_GENERATE_RESULT]" -> 图片生成结果,data 为图片 URL 列表(resource_type=url时),resource_base64 为图片 base64(resource_type=image时)
"type":"TTS_TTSDK_END" -> 流结束标志
[DONE] -> 结束标识
请求示例
1POST https://gwgp-tdvpwojkegj.i.bdcloudapi.com/sse/v1/aiagent/chat/completions/picture/generate
2Host: gwgp-tdvpwojkegj.i.bdcloudapi.com
3Authorization: Bearer string
4{
5 "messages": [
6 {
7 "contentItems": [{"type": "text", "text": "生成小猫的图片"}]
8 }
9 ],
10 "metadata": {
11 "image_generate_model": "",
12 "refer_image":"",
13 "media_height": 480,
14 "media_width": 640
15 },
16 "response_format": {
17 "enable_tts": True,
18 "resource_type": "url"
19 }
20}
响应示例
1data:{"type":"EVENT","message":"[IMAGE_GENERATE_START]:{\"query\":\"生成小猫的图片\", \"taskId\":\"1780921133579\"}"}
2data:{"type":"TTS_TTSDK_DIRECTLY","message":"图片生成中,请稍候","sessionId":1780921133579}
3data:{"type":"tts.begin","message":"","sessionId":1780921133579}
4data:{"type":"audio.header","message":"{\"format\":\"pcm\",\"sample_rate\":16000,\"channel\":1}","sessionId":1780921133579}
5data:{"type":"audio.content","message":"{\"base64Audio\":\"CQAMAA0ADAAJAAgA...\"}","sessionId":1780921133579}
6...(多个 audio.content)...
7data:{"type":"tts.end","message":"","sessionId":1780921133579}
8data:{"type":"TTS_TTSDK_DIRECTLY","message":"图片已生成","sessionId":1780921133579}
9data:{"type":"tts.begin","message":"","sessionId":1780921133579}
10data:{"type":"audio.header","message":"{\"format\":\"pcm\",\"sample_rate\":16000,\"channel\":1}","sessionId":1780921133579}
11data:{"type":"audio.content","message":"{\"base64Audio\":\"CAANAA4ADQAKAAkA...\"}","sessionId":1780921133579}
12...(多个 audio.content)...
13data:{"type":"tts.end","message":"","sessionId":1780921133579}
14data:{"type":"EVENT","message":"[MEDIA_GENERATE_RESULT]:{\"type\":\"image\",\"data\":[\"https://**********\"],\"task_id\":1780921133579}"}
15data:{"type":"TTS_TTSDK_END","message":"","sessionId":1780921133579}
16data:[DONE]
评价此篇文章
