# 图片生成 WebAPI 文档
# 1 请求地址
https://maas-api.cn-huabei-1.xf-yun.com/v2.1/tti # 调用图片生成大模型时使用此地址
# 2 接口鉴权
参考HTTP 协议通用鉴权 (opens new window)。
# 3 接口请求
# HTTP 请求头
以下为 HTTP 请求头的表示形式:
{
"Authorization": "Bearer YOURKEY",
"Content-Type": "application/json"
}
请将 YOURKEY 替换为您的 API Password。
| 参数名称 | 类型 | 必传 | 参数要求 | 参数说明 |
|---|---|---|---|---|
| Authorization | string | 是 | Bearer YOURKEY | 将 YOURKEY 替换为 API Password |
| Content-Type | string | 是 | application/json | 请求体的数据格式 |
# JSON 请求体
{
"header": {
"uid": "12345",
"patch_id": ["123456"]
},
"parameter": {
"chat": {
"domain": "<your-modelID>",
"width": 768,
"height": 768,
"seed": 42,
"num_inference_steps": 20,
"guidance_scale": 5.0,
"scheduler": "Euler"
}
},
"payload": {
"message": {
"text": [
{
"role": "user",
"content": "Draw a mountain."
}
]
},
"negative_prompts": {
"text": "black and white"
}
}
}
JSON 请求体由 header、parameter 和 payload 三部分组成。
JSON 请求体中的
header是接口业务字段,不是 HTTP 请求头。
# JSON 请求体中的 header 部分
| 参数名称 | 类型 | 必传 | 参数要求 | 参数说明 |
|---|---|---|---|---|
| uid | string | 否 | 最大长度 32 | 每个用户的 ID,用于区分不同用户 |
| patch_id | string[] | 否 | 非全量训练的模型需要传入 patch_id,可从平台网页获取 |
# parameter.chat 部分
| 参数名称 | 类型 | 必传 | 参数要求 | 参数说明 |
|---|---|---|---|---|
| domain | string | 是 | 取值为用户服务的 modelID | modelID 可从星辰网页获取 |
| width | int | 是 | 选取平台支持的分辨率,默认值为 512 | 图片的宽度 |
| height | int | 是 | 选取平台支持的分辨率,默认值为 512 | 图片的高度 |
| seed | int | 是 | 范围 0 ~ INT_MAX | 产生图片的随机种子 |
| num_inference_steps | int | 是 | 范围 0 ~ 50,默认值为 20 | 产生图片的步长数 |
| guidance_scale | float | 是 | 值范围 0 ~ 20.0,默认值为 5.0 | 提示词相关度,值越大相关度越高 |
| scheduler | string | 是 | 默认值为 DPM++ 2M Karras | 调度器 |
支持的图片分辨率:
768x768
1024x1024
576x1024
768x1024
1024x576
1024x768
支持的 scheduler:
DPM++ 2M Karras
DPM++ SDE Karras
DDIM
Euler a
Euler
# payload 部分
| 参数名称 | 类型 | 必传 | 参数要求 | 参数说明 |
|---|---|---|---|---|
| message.text[].role | string | 是 | 取值为 "user" | 用户消息的角色标识 |
| message.text[].content | string | 是 | 不得超过 1024 个字符 | 文本内容,即图片生成指令 |
| negative_prompts.text | string | 否 | 不得超过 1024 个字符 | 负面提示词,用于帮助模型生成更符合预期的图片 |
# 4 接口响应
# 成功响应示例
{
"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 表示出错;详细释义可参考接口说明文档中的错误码列表 |
| message | string | 会话是否成功的描述信息 |
| sid | string | 会话的唯一 ID,用于讯飞技术人员查询服务端会话日志。出现调用错误时,建议保留该字段 |
| status | int | 会话状态,文生图场景下为 2 |
# payload.choices 部分
| 字段名 | 类型 | 字段说明 |
|---|---|---|
| status | int | 数据状态:0 表示开始,1 表示进行中,2 表示结束 |
| seq | int | 返回的数据序号,取值范围为 [0, 9999999] |
| text[].content | string | 返回的 Base64 图片结果;图片分辨率由请求参数 width 和 height 决定,未指定时默认为 512x512 |
| text[].role | string | 角色标识,固定为 assistant,表示角色为 AI |
| text[].index | int | 结果序号,用于多候选结果场景 |
# 5 错误码列表
| 错误码 | 错误信息 |
|---|---|
| 0 | 成功 |
| 10003 | 用户的消息格式有错误 |
| 10004 | 用户数据的 schema 错误 |
| 10005 | 用户参数值有错误 |
| 10008 | 服务容量不足 |
| 10021 | 输入审核不通过 |
| 10022 | 模型生成的图片涉及敏感信息,审核不通过 |
在这篇文章中: