中文版
简介
欢迎加入A1的开发者平台,共同探索AIGC的无限可能!
a1平台已经推出了超过27,000+款影像生成应用,包括漫画、多巴胺、3D迪士尼等多种头像风格,“芭比”、“原神”主题等各种AI人像应用,以及种类繁多的表情包、艺术字体等。a1.art每月新增上百个优质应用,输入一张图或者一句话就可以生成风格各异的人像结果或者精美图片。等待你去探索!
通过调用我们的API,您可以快速将生图app集成到您的应用程序或服务中,满足不同业务需求,提升用户体验和产品价值。
我们的平台特点包括:
多样化的生图应用:提供多种图像生成应用,满足不同场景的需求。
易于集成:通过简单的API调用,即可将强大的图像生成功能集成到您的项目中。
高效的性能:优化的算法和服务器架构,确保快速响应和高质量的图像输出。
灵活的定制:支持多种参数设置,满足个性化的图像生成需求。
无论您是想为您的用户提供个性化的图像生成服务,还是需要在内部系统中自动生成图像,我们的平台都能为您提供强大的支持。
API收费规则
API接口将为您生成无水印图,便于您将图片应用于个人业务中。a1.art站内存在节点式应用与表单式应用两种生图应用。
通过API调用表单式应用,每生成1张无水印图,将从您的账户中扣1个积分。
节点式应用API积分消耗按照生成器节点个数进行积分扣除,详细可 参考
通过API调用图片进行精绘,每精绘一张图消耗3个积分(最大支持2K出图)
请注意保持账号点数余额充足,以免调用失败影响您的业务正常使用
更多订阅相关内容请参阅
API提供什么能力
API目前提供5个接口:
上传图片接口:如果用户在使用图生图功能时,需要先调此接口上传图片后才可拿到生图依赖的参数
生图接口:用户传入生图依赖的参数,可以得到一个 taskId ,通过 taskId 可以查询到生图结果
精绘接口:对传入的图片进行高清处理,类似于生图接口,得到 taskId 后,通过 taskId 可以查询到生图结果
查询生图结果接口:传入 taskId 可以查询到生图结果
基础介绍
访问授权
Prefix
https://a1.art
注:中国境内遇到备案问题可以尝试使用域名https://a1art.xiaopiu.com
请求规范说明
网络协议:
HTTPS
协议。编码格式:
UTF-8
编码。请求头部:必须需要携带
apiKey
(获取API key),用于后台的认证与鉴权。响应结果:
JSON
数据格式。API 的响应体结构包含code、msg、msg_cn、data
四个部分。code
为错误码,msg
为英文错误说明,msg_cn
为中文错误说明,data
为调用 API 后返回的结果;如果code
不为0
则认为请求失败,失败信息可参考msg
和msg_cn
。
响应体
参数名
类型
描述
code
int
错误码
msg
string
英文错误信息
msg_cn
string
中文错误信息
data
json
响应数据
数据结构
Application
export type APPInfo = {
id: string;
versionId: string;
name: string;
formArr: []Form;
styleArr: []Style;
updateDate: Date;
createDate: Date;
processTime: string; // 该app最近生图的平均耗时
};
Form
// form中的type字段的类型,对应风格、图片、文本、尺寸
export type FormItemTypeFieldType = 'style' | 'cnet' | 'description' | 'size' ;
export type Form = {
id: string; // 生图接口需传的id(带有inputs的description除外)
type: FormItemTypeFieldType;
title: string;
inputs: []Input;
position: string; // 合照图片的位置
};
Input
export type Input = {
id: string; // 生图接口description表单需传的id
title: string;
tags: []string; // description表单提示词
};
Style
export type Style = {
id: string;
name: string;
image: string;
};
Size
// form中的sizeId字段的类型,1到7对分别对应的size 1:1 3:4 1:2 4:3 2:1 16:9 9:16
export type FormSizeIdType = '1' | '2' | '3' | '4' | '5' | '6' | '7' ;
Task
// task 执行状态,0—任务已提交 10-任务已完成 20-任务失败 30-任务进行中
export type TaskStateType = 0 |10 | 20 | 30 ;
export type Task = {
id: string;
startDate: Date;
finishDate: Date;
createDate: Date;
images: []string;
state: number;
};
API key
API key
要以用户身份发出授权请求,您必须使用 API key。
您可以从网站右上角个人头像处,查找并管理您的 API key
Application
Application
获取Application详情
/open-api/v1/a1/apps/{appId}
& GET
请求参数
字段名
类型
位置
是否必传
含义
apiKey
string
header
是
API key
appId
string
path
是
应用id
language
string
query
否
语言,不传默认为发布时使用的文案,支持翻译为zh_CN,en_US,zh_TW,ru_RU,ja_JP,pt_BR,es_MX,de_DE,id_ID,tr_TR,vi_VN,th_TH,ms_MY
参数限制
不支持查询带有数字分身组件、wordart组件、group photo组件为 user upload模式(绝大多数合照应用不再此范围内)、Video组件的app
不支持查询未发布的节点式应用信息
请求示例
curl --location --request GET 'https://a1.art/open-api/v1/a1/apps/{appId}' \
--header 'apiKey: {apiKey}' \
--header 'Accept: */*' \
--header 'Host: a1.art' \
--header 'Connection: keep-alive'
响应示例
{
"code": 0,
"msg": "success",
"msg_cn": "成功",
"data": {
"appInfo": {
"id": "1803632078862147586",
"versionId": "1803632078866341890",
"name": "Crazy Pet",
"formArr": [ // 生图待传的表单参数
{
"id": "1705408562085",
"type": "cnet",
"title": "Photo of your pet",
"position": "0"
},
{
"id": "1705403286130",
"type": "description",
"title": "Description",
"inputs": [
{
"id": "description_1705463790428_variant1",
"title": "Color and breed, such as: black devon rex cat",
"tags": [
"Obsidian_black",
"Porcelain_white"
]
}
]
},
{
"id": "1705398050190",
"type": "style",
"title": "Style"
},
{
"id": "1705403291444",
"type": "size",
"title": "Size"
}
],
"styleArr": [
{
"id": "1766068889598496769",
"name": "High Quality Anmie",
"image": "https://cdn.a1.art/assets/style/cover_image/6d7358e9-ddae-4253-bcc9-d4f54ebc25d5.png"
}
],
"updateDate": "2024-06-20 19:51:55.0",
"createDate": "2024-06-20 11:32:52.0",
"processTime": "22", // 该app最近生图的平均耗时
"cost": 2 // 节点式应用消耗点数
}
}
}
Image
Image
上传图片:/open-api/v1/a1/images/upload
& POST
/open-api/v1/a1/images/upload
& POST注:只有通过我们系统上传的图片才可用来做生图参数
请求参数
字段名
类型
位置
是否必传
含义
apiKey
string
header
是
API key
file
file
form-data
与imageUrl传其一
图片文件
imageUrl
string
form-data
与file传其一
图片链接
参数限制
仅支持上传png、jpg、jpeg格式的图片文件
支持通过 form 表单的形式上传图片
支持通过在线图片链接的方式上传图片
每次仅可上传一张图片
图片文件大小不可大于10 M
请求示例
curl --location --request POST 'https://a1.art/open-api/v1/a1/images/upload' \
--header 'apiKey: {apiKey}' \
--header 'Accept: */*' \
--header 'Host: a1.art' \
--header 'Connection: keep-alive' \
--header 'Content-Type: multipart/form-data;' \
--form 'file=@"/Users/xxx/Downloads/imageName.png"' \
--form 'imageUrl="https://xxx/xxx.jpeg"'
响应示例
{
"code": 0,
"msg": "success",
"msg_cn": "成功",
"data": {
"imageUrl": "63fa41e7-e282-4582-a07b-8e5e73e8d388.jpg",
"path": "assets/application/apikey_5f6ccf7b983e499fb8ba4e5c4de8013f/form/"
}
}
生成图片:/open-api/v1/a1/images/generate
& POST
/open-api/v1/a1/images/generate
& POST注:节点式应用有单独的点数消耗规则,详情请参照 节点式应用 VS 表单式应用
请求参数
字段名
类型
位置
是否必传
含义
apiKey
string
header
是
API key
appId
string
body
是
应用id
versionId
string
body
是
应用版本 id (如果遇到“应用版本已更新,请重新获取应用信息”的报错,则代表应用已经更新,需要重新获取一下)
generateNum
string
body
是
本次请求生成图片的数量
cnet
[]cnetForm
body
否
图生图依赖的图片(如果查询 app 详情接口没返回才不用填,代表这个应用不需要输入图片)
string
body
是
formArr 中 type 为 cnet 的 form 的 id
cnetForm.imageUrl
string
body
是
见上传图片接口的返回值
cnetForm.path
string
body
是
见上传图片接口的返回值
cnetForm.position
string
body
否
合照图片索引位置 (用到合照功能需传该字段,表示将图片附于合照指定位置-索引从0开始)
description
[]descriptionForm
body
否
生图依赖的描述词(如果查询 app 详情接口没返回才不用填,代表这个应用没有开放描述词输入)
string
body
是
formArr 中 type 为 description 的 form 的 id(如果有inputs字段的话则为input的id)
descriptionForm.value
string
body
是
描述词
styleId
string
body
否
生图依赖的图片风格,来源— styleArr 中的id(如果查询 app 详情接口没返回才不用填,代表这个应用只能生成固定 style 的图片)
size
sizeForm
body
否
生图依赖的图片尺寸;(如果查询 app 详情接口没返回才不用填,代表这个应用只能生成固定尺寸的图片)
sizeForm.sizeId
string
body
是
1到7对分别对应的size 1:1 3:4 1:2 4:3 2:1 16:9 9:16
参数限制
需要带上application最新的versionId
暂不支持使用未发布的节点式应用生图
必须使用本系统存储的图片
需要传图片生成数量(generateNum, 1~4)注:节点式应用单次仅能生成一张图
对于application formArr 里面的参数,每个type的参数至少传一个
在传form里面类型为description的参数时,如果form拥有inputs字段,description的id则应该传input的id
请求示例
curl --location --request POST 'https://a1.art/open-api/v1/a1/images/generate' \
--header 'apiKey: {apiKey}' \
--header 'Content-Type: application/json' \
--header 'Accept: */*' \
--header 'Host: a1.art' \
--header 'Connection: keep-alive' \
--data-raw '{
"cnet": [
{
"id": {cnetId},
"imageUrl": {imageUrl},
"path": {path},
"position": {position}
}
],
"description": [
{
"id": {descriptionId/inputId}, # form如果没有inputs字段,则传description的id而非input的id
"value": {value}
}
],
"styleId": {styleId},
"size": {
"sizeId": {sizeId}
},
"appId": {appId},
"versionId": {versionId},
"generateNum": {generateNum}
}'
响应示例
{
"code": 0,
"msg": "success",
"msg_cn": "成功",
"data": {
"taskId": "507b080cfe17f7956e8690c4eba2b80f"
}
}
图片精绘:/open-api/v1/a1/images/optimize& POST
请求参数
字段名
类型
位置
是否必传
含义
apiKey
string
header
是
API key
path
string
body
是
见上传图片接口的返回值
imageUrl
string
body
是
见上传图片接口的返回值
参数限制
必须使用本系统存储的图片
图片精绘每次消耗 3 个点数
精绘图片尺寸限制为2048 * 2048
请求示例
curl --location --request POST 'https://a1.art/open-api/v1/a1/images/optimize' \
--header 'apiKey: {apiKey}' \
--header 'Content-Type: application/json' \
--header 'Accept: */*' \
--header 'Host: a1.art' \
--header 'Connection: keep-alive' \
--data-raw '{
"path": {path},
"imageUrl": {imageUrl}
}'
响应示例
响应结构同生成图片
{
"code": 0,
"msg": "success",
"msg_cn": "成功",
"data": {
"taskId": "507b080cfe17f7956e8690c4eba2b80f"
}
}
Task
Task
查询任务执行结果:/open-api/v1/a1/tasks/{taskId}
& GET
注:生成的图片地址后续可能会失效,建议将生成结果保存在自己的cdn上
可以等 5s 后在通过轮询去查询结果
task 的 state 状态枚举可见TaskStateType
请求参数
字段名
类型
位置
是否必传
含义
apiKey
string
header
是
API key
section
string
header
否
图片资源所属地区,中国区使用传 cn,其他地区可不传
taskId
string
path
是
生成图片接口返回的taskId
参数限制
只能查询当前用户ID下的task
请求示例
curl --location --request GET 'https://a1.art/open-api/v1/a1/tasks/{taskId}' \
--header 'apiKey: {apiKey}' \
--header 'section: {section}' \
--header 'Accept: */*' \
--header 'Host: a1.art' \
--header 'Connection: keep-alive'
响应示例
{
"code": 0,
"msg": "success",
"msg_cn": "成功",
"data": {
"id": "1803970662304264194",
"state": 10,
"startDate": "2024-06-21 09:58:16.0",
"finishDate": "2024-06-21 09:58:28.0",
"createDate": "2024-06-21 09:58:16.0",
"images": [
"imageUrl"
]
}
}
错误码
code
msg
msg_cn
0
success
成功
10001
invalid params
无效的参数
10002
unsupported image suffix
不支持的文件后缀
10410
Missing API key
缺少API key
10411
Invalid API key
无效的API key
20000
too may request
接口访问触发限流
20002
server error
服务器错误
20003
service internal error
服务内部错误
20100
file error
文件异常
20101
file suffix error
文件后缀异常
324010
This app does not support API access
此应用不支持通过API访问
324011
The quantity must not exceed 4
单个应用单次请求生图数量1~4张
324012
This app does not exist
无效的应用ID
324013
The application is updated. You need to obtain the application information again
应用版本已更新,请重新获取应用信息
324018
You can only use API of your built apps.
调用他人的未发布应用api
400000
Missing image file
缺少图片文件
400001
Only one image can be uploaded at a time
一次只支持上传一张图片
400002
Non image format files are not supported
不支持非图片格式文件
400003
The image file cannot exceed 10M
图片文件不能超过10M
400004
Invalid file
无效的文件
400005
This image format is not supported
不支持该图片格式
400006
The size of the image file cannot exceed 2048*2048
图片文件尺寸不能超过 2048*2048
324019
No rights to use VIP app*Available after payment
没有使用 vip app 的权益*付费后可用
810012
balance insufficient error
账户余额不足
联系我们
Last updated
Was this helpful?