stable_diffusion图片生成Web API文档

1 请求地址

https://xingchen-api.cn-huabei-1.xf-yun.com/v2.1/tti

2 接口鉴权

参考http协议通用鉴权

3 接口请求

请求参数

{
    "header": {
        "app_id": "12345",
        "uid": "12345"
        "patch_id":["123456"]
    },
    "parameter": {
        "chat": {
            "domain": "<your-service-id>",
            "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"
        }
    }
}

接口请求字段由三个部分组成:header,parameter, payload。 字段解释如下

header部分

参数名称 类型 必传 参数要求 参数说明
app_id string 应用appid,从开放平台控制台创建的应用中获取
uid string 最大长度32 每个用户的id,用于区分不同用户
patch_id string 非全量训练的模型需要传入patch_id,可从平台网页获取

parameter.chat部分

参数名称 类型 必传 参数要求 参数说明
domain string 取值为用户服务的serviceId serviceId可从星辰网页获取
width int 选取平台支持的分辨率 图片的宽度
height int 选取平台支持的分辨率 图片的高度
seed int 范围0~INT_MAX 产生图片的随机种子
num_inference_steps int 范围0~50 产生图片的步长数
guidance_scale float 值范围0~20.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" user表示是用户的问题
message.text.content string 不得超过1000个字符 文本内容,图片生成指令
message.negative_prompts string 不得超过1000个字符 在进行文本生成时,可以提供一些负面或反向的示例,以帮助模型生成更符合期望的输出

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图片结果,默认分辨率512*512
text.role string 角色标识,固定为assistant,标识角色为AI
text.index int 结果序号,在多候选中使用

错误码列表

错误码 错误信息
0 成功
10003 用户的消息格式有错误
10004 用户数据的schema错误
10005 用户参数值有错误
10008 服务容量不足
10021 输入审核不通过
10022 模型生产的图片涉及敏感信息,审核不通过