概述
本平台提供 RESTful API 接口,支持通过用户 API Key 免登录方式提交任务、查询任务状态等操作。所有接口均以 JSON 格式返回数据。
Base URL:
https://cyimg.cn/backend/api/⚠️ API Key 为个人中心生成的
sk_ 开头密钥,请妥善保管;泄露可能导致积分被盗用。如不慎泄露请立即撤销并重新生成。POSThttps://cyimg.cn/backend/api/image_tasks.php?action=generate
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
task_id | string | 是 | 任务配置ID,见左侧功能列表 |
功能参数 | mixed | 按配置 | 参数需要直接平铺在请求体中,不要包在 params 对象里 |
conversation_id | string | 否 | 对话ID,不传则自动创建 |
generate_count | number | 否 | 批量生成数量,仅对开启批量的功能生效 |
提交成功响应
{
"error": false,
"success": true,
"task_id": "img_task_xxx",
"status": "queued",
"message": "任务已提交,正在后台处理..."
}认证方式
提交任务和查询任务建议携带个人中心生成的 sk_ API Key。当前接入不需要 API Secret 或签名。
方式一:X-API-Key Header(推荐)
X-API-Key: sk_your_api_key_here
方式二:Authorization Bearer
Authorization: Bearer sk_your_api_key_here
方式三:URL 参数
POST /backend/api/image_tasks.php?action=generate&api_key=sk_your_api_key_here
查询任务状态
根据任务ID查询任务的当前状态和结果。
GEThttps://cyimg.cn/backend/api/image_tasks.php?action=task_status&task_id={task_id}
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
action | string | 是 | 固定值 task_status |
task_id | string | 是 | 提交任务时返回的 task_id |
成功响应
{
"error": false,
"task_id": "task_xxx",
"status": "completed",
"message": "",
"result": "https://...",
"original_result_url": "",
"created_at": 1719000000,
"updated_at": 1719000060
}状态枚举:
queued 排队中 / pending 等待中 / processing 处理中 / running 运行中 / completed 已完成 / failed 失败文件上传
上传图片、视频、音频等素材,返回的 file_url 可直接作为生图、生视频、人像素材转换等接口的输入 URL。
POSThttps://cyimg.cn/backend/api/upload_file.php
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
file | file | 是 | multipart/form-data 文件字段,支持图片、视频、音频等平台允许的文件类型 |
X-API-Key | header | 是 | 个人中心生成的 sk_ API Key |
cURL
curl -X POST "https://cyimg.cn/backend/api/upload_file.php" \ -H "X-API-Key: sk_your_api_key_here" \ -F "file=@/path/to/avatar.png"
成功响应
{
"error": false,
"message": "文件上传成功",
"data": {
"file_url": "/backend/api/get_file.php?username=USER&filename=upload_xxx.png",
"file_name": "upload_xxx.png",
"original_name": "avatar.png",
"file_size": 123456,
"file_type": "image/png",
"is_image": true,
"thumbnail_created": true,
"thumbnail_url": "/backend/api/get_file.php?username=USER&filename=upload_xxx.png&thumbnail=true"
}
}如果后续接口由外部服务读取素材,建议把相对地址拼成完整 URL,例如
https://cyimg.cn/backend/api/get_file.php?...。人像素材转换
将已上传的图片 URL 注册到私域人像素材库,生成可在支持素材库的创作流程中复用的人像素材资产。典型流程为:上传文件 → 创建素材组 → 创建素材。
POSThttps://cyimg.cn/backend/api/portrait_assets.php
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
action | string | 是 | create_group / create_asset / list_groups / list_assets / get_asset |
portrait_config_id | string | 否 | 指定素材库配置ID;不传则使用系统默认素材库配置 |
name | string | 按操作 | 素材组名称或素材名称 |
group_id | string | 创建素材时必填 | 素材组ID,由 create_group 返回 |
url | string | 创建素材时必填 | 上传接口返回的完整图片 URL |
asset_type | string | 否 | 默认 Image |
1. 创建素材组
curl -X POST "https://cyimg.cn/backend/api/portrait_assets.php" \
-H "X-API-Key: sk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"action": "create_group",
"name": "我的人像素材组",
"description": "API上传的人像素材"
}'2. 将上传图片转换为人像素材
curl -X POST "https://cyimg.cn/backend/api/portrait_assets.php" \
-H "X-API-Key: sk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"action": "create_asset",
"group_id": "GROUP_ID",
"name": "主角参考图",
"url": "https://cyimg.cn/backend/api/get_file.php?username=USER&filename=upload_xxx.png",
"asset_type": "Image"
}'查询素材列表
curl -X POST "https://cyimg.cn/backend/api/portrait_assets.php" \
-H "X-API-Key: sk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"action": "list_assets",
"filter_group_id": "GROUP_ID",
"page_size": 20
}'人像素材库需要后台已配置可用的素材库 AK/SK;若未配置,接口会返回
未配置人像素材库 AK/SK。错误码说明
| HTTP状态码 | 错误类型 | 说明 |
|---|---|---|
| 401 | UNAUTHORIZED | 未提供有效的 API Key |
| 403 | INSUFFICIENT_CREDITS | 积分不足 |
| 400 | INVALID_PARAMS | 参数不完整或格式错误 |
| 404 | CONFIG_NOT_FOUND | 任务配置不存在 |
| 429 | RATE_LIMITED | 请求频率超限 |
| 500 | SERVER_ERROR | 服务器内部错误 |
快速接入示例
以下是 cURL / Python / JavaScript 的接入示例:
cURL
curl -X POST "https://cyimg.cn/backend/api/image_tasks.php?action=generate" \
-H "X-API-Key: sk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"task_id": "CONFIG_ID",
"prompt": "一只可爱的猫咪"
}'Python
import requests
API_KEY = "sk_your_api_key_here"
BASE = "https://cyimg.cn/backend/api"
headers = {"X-API-Key": API_KEY, "Content-Type": "application/json"}
# 提交任务
resp = requests.post(f"{BASE}/image_tasks.php?action=generate", headers=headers, json={
"task_id": "CONFIG_ID",
"prompt": "一只可爱的猫咪"
})
task_id = resp.json()["task_id"]
# 轮询状态
import time
while True:
r = requests.get(f"{BASE}/image_tasks.php?action=task_status&task_id={task_id}", headers=headers).json()
if r["status"] in ["completed", "failed"]:
print(r); break
time.sleep(5)JavaScript
const res = await fetch('https://cyimg.cn/backend/api/image_tasks.php?action=generate', {
method: 'POST',
headers: { 'X-API-Key': 'sk_xxx', 'Content-Type': 'application/json' },
body: JSON.stringify({
task_id: 'CONFIG_ID',
prompt: '一只可爱的猫咪'
})
});
const { task_id } = await res.json();功能详情
📋 参数说明
| 参数名(name_en) | 中文名 | 类型 | 必填 | 说明 |
|---|
📤 请求体示例
POSThttps://cyimg.cn/backend/api/image_tasks.php?action=generate
© 2026 梧桐 · API v1.0