1.接口描述
- | 描述 |
接口名称 | 文本生图 |
请求路径 | |
功能描述 | 基于提示创建图像 |
2.请求参数
2.1 请求头参数
参数 | 示例值 | 描述 |
Authorization | Bearer AppKey | 鉴权信息填入AppKey。 |
Content-Type | application/json |
|
2.2 请求参数
备注:此参数为全平台模型通用,每个模型支持的参数、参数范围可能因模型不同而有所差异,详细可见模型广场内每个模型的API文档。
参数名称 | 参数类型 | 必选 | 描述 |
model | string | 是 | 模型ID。 |
prompt | string | 是 | 所需图像的文本描述,最大长度1000。 |
negative_prompt | string | 否 | 避免生成负面图像的提示,最大长度1000。 |
n | int | 否 | 要生成的图像数。 一般取值为1,具体取值范围、默认值需见对应模型。 |
num_inference_steps | int | 否 | 去噪步骤的数量。去噪步骤越多,通常可以得到更高质量的图像,但推理速度会变慢。 一般取值范围 [1, 50],具体取值范围、默认值需见对应模型。 |
quality | int | 否 | 生成图像质量。openai参数,慧聚平台未启用。 |
size | string | 否 | 输出的图像尺寸(高x宽)。 一般取值范围360x640,480x640,512x512,640x360,640x480,720x1280,1024x1024,1280x720,默认值为512x512,具体取值范围、默认值需见对应模型。 |
response_format | string | 否 | 返回图像的格式。 一般取值范围url, b64_json,默认值为b64_json,具体取值范围、默认值需见对应模型。 |
style | string | 否 | 生成图像风格。一般取值范围standard,portrait,landscape,cartoon,technology,photography,concept,默认值为standard,具体取值范围、默认值需见对应模型。 |
user | string | 否 | 用户唯一身份ID。 |
请求参数示例
{
"model": "bfetrcdggsdfsdf",
"prompt": "A cute baby sea otter",
"n": 1,
"size": "512x512"
}
3.请求返回
3.1请求正常返回
字段名称 | 二级字段 | 字段类型 | 描述 |
created |
| string | Unix时间戳(以秒为单位)。 |
data |
| array | 图像列表 |
- | b64_json | string | b64_json 格式图片 |
- | url | string | url 格式图片 |
- | revised_prompt | string | 实际使用的修改后的prompt |
返回结果示例
{
"id": "1714459832",
"data": [{
"b64_json": "xxxxxxxxxxxxxxxxxxx"
}]
}
3.2异常返回
异常返回时:
● http code 返回非200。
● http body 中返回 error 结构,error结构中包含code、type、message、param等信息,具体可见OpenAPI接口文档中的error结构描述及错误码部分介绍。
错误结果示例
{
"error" : {
"code" : "500001",
"type" : "INVOKE_MODEL_ERROR",
"message" : "服务接口异常,请联系管理员"
}
}
4.请求示例代码
假设慧聚平台用户组AppKey=884c8fc4054548a7b1ca1123592f5b7,模型ID=96dcaaaaaaaaaaaa5ff55ea377831a,以此为例进行说明。
4.1 curl方式请求
curl --request POST \
--url https://wishub-x1.ctyun.cn/v1/images/generations \
--header 'Accept: */*' \
--header 'Accept-Encoding: gzip, deflate, br' \
--header 'Authorization: Bearer 884c8fc4054548a7b1ca1123592f5b7' \
--header 'Content-Type: application/json' \
--data '{
"model": "96dcaaaaaaaaaaaa5ff55ea377831a",
"prompt" : "A cute baby sea otter",
"n" : 1,
"size" : "512x512"
}'
4.2 python方式请求
import json
import requests
URL = "https://wishub-x1.ctyun.cn/v1/images/generations"
headers = {
"Authorization": "Bearer 884c8fc4054548a7b1ca1123592f5b7",
"Content-Type": "application/json"
}
data = {
"model": "96dcaaaaaaaaaaaa5ff55ea377831a",
"prompt" : "A cute baby sea otter",
"n" : 1,
"size" : "512x512"
}
try:
response = requests.post(URL, headers=headers, json=data)
if response.status_code != 200:
print(response.json())
else:
b64_file_json = response.json()["data"][0]["b64_json"]
except Exception as e:
print(f"Exception: {e}")
4.3 openai 客户端示例代码
import openai
from openai import OpenAI
client = OpenAI(base_url="https://wishub-x1.ctyun.cn/v1", api_key="884c8fc4054548a7b1ca1123592f5b7")
try:
response = client.images.generate(
model="96dcaaaaaaaaaaaa5ff55ea377831a",
prompt="A cute baby sea otter",
)
print(f"{response.data[0].b64_json}")
except openai.APIStatusError as e:
print(f"APIStatusError: {e.status_code}, {e.message}, {e.body}")
except openai.APIError as e:
print(f"APIError: {e.body}")
except Exception as e:
print(f"Exception: {e}")