# 图片生成 API 文档
# 接口说明
根据用户输入的文字内容,生成符合语义描述的不同风格的图像;
部分开发语言demo如下,其他开发语言请参照文档进行开发,也欢迎热心的开发者到 讯飞开放平台社区 (opens new window) 分享你们的demo。
图片生成 demo go语言 (opens new window)
图片生成 demo python语言 (opens new window)
图片生成 demo java语言 (opens new window)集成图片生成时,需按照以下要求:
内容 | 说明 |
---|---|
传输方式 | http[s] (为提高安全性,强烈推荐https) |
请求地址 | https://spark-api.cn-huabei-1.xf-yun.com/v2.1/tti 注:服务器IP不固定,为保证您的接口稳定,请勿通过指定IP的方式调用接口,使用域名方式调用 |
请求行 | POST /v2.1/tti HTTP/1.1 |
Content-Type | application/json;charset=UTF-8 |
接口鉴权 | 签名机制,详情请参照签名生成 (opens new window) |
字符编码 | UTF-8 |
响应格式 | 统一采用JSON格式 |
开发语言 | 任意,只要可以向讯飞云服务发起HTTP请求的均可 |
适用范围 | 任意操作系统,但因不支持跨域不适用于浏览器 |
# 鉴权说明
在调用业务接口时,请求方需要对请求进行签名,服务端通过签名来校验请求的合法性。
# 鉴权方法
详情请参照下方签名生成 (opens new window)
# 鉴权结果
如果鉴权失败,则根据不同错误类型返回不同HTTP Code状态码,同时携带错误描述信息,详细错误说明如下:
HTTP Code | 说明 | 错误描述信息 | 解决方法 |
---|---|---|---|
401 | 缺少authorization参数 | {"message":"Unauthorized"} | 检查是否有authorization参数,详情见authorization参数详细生成规则 |
401 | 签名参数解析失败 | {“message”:”HMAC signature cannot be verified”} | 检查签名的各个参数是否有缺失是否正确,特别确认下复制的api_key是否正确 |
401 | 签名校验失败 | {“message”:”HMAC signature does not match”} | 签名验证失败,可能原因有很多。 1. 检查api_key,api_secret 是否正确。 2.检查计算签名的参数host,date,request-line是否按照协议要求拼接。 3. 检查signature签名的base64长度是否正常(正常44个字节)。 |
403 | 时钟偏移校验失败 | {“message”:”HMAC signature cannot be verified, a valid date or x-date header is required for HMAC Authentication”} | 检查服务器时间是否标准,相差5分钟以上会报此错误 |
时钟偏移校验失败示例:
HTTP/1.1 403 Forbidden
Date: Mon, 22 May 2023 05:44:14 GMT
Content-Length: 116
Content-Type: text/plain; charset=utf-8
{
"message": "HMAC signature does not match, a valid date or x-date header is required for HMAC Authentication"
}
# 请求参数
在调用业务接口时,都需要在 Http Request Body 中配置以下参数,请求数据均为json字符串。
请求参数示例:
{
"header": {
"app_id": "your_appid"
},
"parameter": {
"chat": {
"domain": "general",
"width": 512,
"height": 512
}
},
"payload": {
"message": {
"text": [
{
"role": "user",
"content": "帮我画一座山"
}
]
}
}
}
请求参数说明:
注: 文生图目前仅开放单轮交互,单轮交互只需要传递一个user角色的数据
参数名 | 类型 | 必传 | 描述 |
---|---|---|---|
header.app_id | string | 是 | 应用的app_id |
header.uid | string | 否 | 每个用户的id,非必传字段,用于后续扩展,"maxLength":32 |
parameter.chat.width | int | 图片的宽度 | 参考下方分辨率说明, 不同的分辨率计费不同,请选择合适的使用 |
parameter.chat.height | int | 图片的高度 | 参考下方分辨率说明, 不同的分辨率计费不同,请选择合适的使用 |
payload.message.text | json/object/array | 是 | 文本数据 |
payload.message.text.role | string | 是 | 角色,user:表示是用户的问题 |
payload.message.text.content | string | 是 | 文本内容,该角色的对话内容,不得超过1000个字符 |
# 分辨率说明
注: 图片生成按点数计费,不同分辨率计费不同,具体如下
分辨率(width * height) | 图点数 |
---|---|
512x512 | 6 |
640x360 | 6 |
640x480 | 6 |
640x640 | 7 |
680x512 | 7 |
512x680 | 7 |
768x768 | 8 |
720x1280 | 12 |
1280x720 | 12 |
1024x1024 | 14 |
# 返回结果
返回参数示例: 成功
{
"header": {
"code": 0,
"message": "Success",
"sid": "cht000704fa@dx16ade44e4d87a1c802",
"status": 0
},
"payload": {
"choices": {
"status": 2,
"seq": 0,
"text": [
{
"content": "base64",
"index": 0,
"role": "assistant"
}
]
}
}
}
异常
{
"header": {
"code": 10003,
"message": "xxxx",
"sid": "cht00120013@dx181c8172afb0001102",
"status": 2,
}
}
返回参数说明:
参数 | 类型 | 含义 |
---|---|---|
header.code | int | 服务错误码 , 0表示正常,非0表示出错 |
header.sid | string | 会话的sid |
header.status | int | 会话的状态 ,文生图场景下为2 |
header.message | string | 返回消息描述 ,错误码的描述信息 |
payload.choices.status | int | 数据状态 ,0:开始, 1:开始, 2:结束(表示文本响应结束) |
payload.choices.seq | int | 数据序号,最小值:0, 最大值:9999999 |
payload.choices.text | json object array | 文本结果 ,是一个json 数组 |
text字段参数说明
参数 | 类型 | 含义 |
---|---|---|
content | string | 返回的base64图片结果,默认分辨率512*512 |
index | int | 结果序号,在多候选中使用 |
role | string | 角色,assistant说明这是AI的回复 |
# 错误码描述
错误码 | 错误信息 |
---|---|
0 | 成功 |
10003 | 用户的消息格式有错误 |
10004 | 用户数据的schema错误 |
10005 | 用户参数值有错误 |
10008 | 服务容量不足 |
10021 | 输入审核不通过 |
10022 | 模型生产的图片涉及敏感信息,审核不通过 |
# 常见问题
# 图片生成的主要功能是什么?
答:根据用户输入的文字内容,生成符合语义描述的不同风格的图像。
# 图片生成支持什么应用平台?
答:目前支持Web API应用平台。
# 图片生成的默认大小为多少?
答:分辨率512*512。
在这篇文章中: