API调用

签名机制

请求需要进行签名,签名文档参考:HTTP 请求结构

基础创作文生图

生成调用

您可以执行以下命令生成调用:

POST /{workspaceId}/api/text2image/v1

输入参数

字段

类型

位置

是否必填

备注

host

String

header

服务地址

x-acs-action

String

header

API的名称

x-acs-content-sha256

String

header

请求正文Hash摘要后再base-16编码的结果

x-acs-date

String

header

按照ISO 8601标准表示的UTC时间,格式为yyyy-MM-ddTHH:mm:ssZ,例如2018-01-01T12:00:00Z。值为请求发出前15分钟内的时间。

x-acs-signature-nonce

String

header

签名唯一随机数。用于防止网络重放攻击,建议您每一次请求都使用不同的随机数。

x-acs-version

String

header

API 版本。

Authorization

String

header

用于验证请求合法性的认证信息

workspaceId

String

path

工作空间id

baseModelCode

String

body

基础模型code

loraModelCodes(可选)

Jsonarray

body

lora模型code集合

  • loraModelCode

String

body

lora模型code

  • weight

Float

body

权重

prompt

String

body

提示词

negativePrompt

String

body

反向提示词

batchSize

Int

body

1 ~ 4

imageSize

String

body

SD1.5、SDXL模型支持分辨率:

512*512

1024*1024

816*1456

928*1232

1232*928

1920*1080

WANX模型支持分辨率:

1024*1024

1280*720

720*1280

sampler

Json

body

  • steps

Int

采样迭代步数 1 ~ 100

  • sampler

String

支持采样器:

"Euler a",

"Euler",

"LMS",

"Heun",

"DPM2",

"DPM2 a",

"DPM++ 2S a",

"DPM++ 2M",

"DPM++ SDE",

"DPM++ 2M SDE",

"DPM fast",

"DPM adaptive",

"LMS Karras",

"DPM2 Karras",

"DPM2 a Karras",

"DPM++ 2S a Karras",

"DPM++ 2M Karras",

"DPM++ SDE Karras",

"DPM++ 2M SDE Karras",

"DDIM",

"PLMS",

"UniPC"

  • seed

Int

随机种子 -1 ~ 10000000

  • cfgScale

Float

提示词相关性 1.0~30.0

body请求示例

{
  "baseModelCode": "baseModel_1",
  "loraModelCodes": [
    {
      "loraModelCode": "lora_1",
      "weight": 0.4
    }
  ],
  "prompt": "xx",
  "negativePrompt": "xx",
  "batchSize": 1,
  "imageSize": "1024*1024",
  "sampler":{
    "steps": 10,
    "sampler": "Euler a",
    "seed": -1,
    "cfgScale": 7
  }
}

正常出参代码示例如下:

{
    "output": {
        "taskId": "13b1848b-5493-4c0e-8c44-68d038b492af", 
    	"taskStatus": "CREATED"
    }
    "requestId": "7574ee8f-38a3-4b1e-9280-11c33ab46e51"
}

异常出参代码示例如下:

{
    "code": "InvalidApiKey",
    "message": "Invalid API-key provided."
}

获取任务结果

您可以执行以下命令获取任务结果:

GET /{workspaceId}/api/tasks/{taskId}

输入参数

字段

类型

位置

是否必填

备注

host

String

header

服务地址

x-acs-action

String

header

API的名称

x-acs-content-sha256

String

header

请求正文Hash摘要后再base-16编码的结果

x-acs-date

String

header

按照ISO 8601标准表示的UTC时间,格式为yyyy-MM-ddTHH:mm:ssZ,例如2018-01-01T12:00:00Z。值为请求发出前15分钟内的时间。

x-acs-signature-nonce

String

header

签名唯一随机数。用于防止网络重放攻击,建议您每一次请求都使用不同的随机数。

x-acs-version

String

header

API 版本。

Authorization

String

header

用于验证请求合法性的认证信息

workspaceId

String

path

工作空间id

taskId

String

path

任务id

任务运行中输出代码示例如下:

{
    "requestId":"e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
    "output":{
        "taskId":"86ecf553-d340-4e21-af6e-a0c6a421c010",
        "taskStatus":"RUNNING"
    }
}

任务全部成功代码示例如下:

{
    "requestId": "e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
    "output": {
        "taskId": "86ecf553-d340-4e21-af6e-a0c6a421c010",
        "taskStatus": "SUCCESSFUL",
        "results": [
            {
                "url":"https://xxxx.oss-cn-beijing.aliyuncs.com/123/a1.png"
            },
            {
                "url":"https://xxxx.oss-cn-beijing.aliyuncs.com/123/b2.png"
            }
        ]
    }
}

任务部分成功、部分失败代码示例如下:

{
  "requestId":"e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
  "output":{
    "taskId":"86ecf553-d340-4e21-af6e-a0c6a421c010",
    "taskStatus":"SUCCESSFUL",
    "results":[
      {
        "url":"https://xxxx.oss-cn-beijing.aliyuncs.com/123/a1.png"
      },
      {
        "code": "InternalError.Timeout",
        "message": "An internal timeout error has occured during execution, please try again later or contact service support."
      }
    ]
  }
}

任务全部失败代码示例如下:

{
    "requestId":"e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
    "output":{
        "taskId":"86ecf553-d340-4e21-af6e-a0c6a421c010",
        "taskStatus":"FAILED",
        "code":"InvalidParameter",
        "message":"The size is not match the allowed size ['1024*1024', '720*1280', '1280*720']"
    }
}