多平台分享图片 API
服务端自动识别分享链接所属平台,解析单页或多页作品,并为选中的作品生成独立下载地址。推荐使用两步流程:先获取作品列表,再提交需要下载的 item_ids。
作品列表查询和生成下载地址不扣费。只有实际请求下载地址并成功取得图片时,才按后台配置扣除额度。
- 调用
POST /v1/works,获得平台、作品数量和每页的item_id。 - 调用
POST /v1/download-selected,提交一个或多个item_ids。 - 访问返回的
download_url,下载对应的单张图片。
支持平台
| 平台 | 识别域名 | 平台值 |
|---|---|---|
| 稿定设计 | gaoding.com | gaoding |
| Canva 可画 | khsj.cn、canva.cn | canva |
| 创客贴 | chuangkit.com | chuangkit |
| 图怪兽 | 818ps.com、ue.818ps.com | tuguai |
| 美图设计室 | designkit.cn | meitu |
链接可以是原始 URL、Markdown 包装链接,或带中文句号等尾部标点的 URL。服务端会先清洗链接,再识别平台并选择对应 Cookie 配置。
身份认证
业务接口通过请求头传入 API Key:
X-API-Key: gda_xxxxxxxxxxxxxxxxx Content-Type: application/json
平台识别
POST/v1/platform/detect{
"share_url": "https://www.chuangkit.com/sharedesign?d=DESIGN_ID。"
}
{
"ok": true,
"platform": "chuangkit",
"share_url": "https://www.chuangkit.com/sharedesign?d=DESIGN_ID",
"connector_status": "active"
}
1. 解析作品列表
POST/v1/works返回分享链接中的全部已解析作品。单页作品返回一个条目,多页作品按页面顺序生成连续的 item_id。此步骤不扣费。
请求
{
"share_url": "https://www.chuangkit.com/sharedesign?d=DESIGN_ID"
}
多页响应示例
{
"ok": true,
"platform": "chuangkit",
"share_url": "https://www.chuangkit.com/sharedesign?d=DESIGN_ID",
"count": 4,
"items": [
{"id": 1, "thumbnail_url": "https://.../page-1"},
{"id": 2, "thumbnail_url": "https://.../page-2"},
{"id": 3, "thumbnail_url": "https://.../page-3"},
{"id": 4, "thumbnail_url": "https://.../page-4"}
]
}
2. 选择作品并生成下载地址
POST/v1/download-selected使用第一次调用返回的标准化 share_url 和 item_id。可以只选择一页,也可以一次选择多页。每页返回独立下载地址,不生成 ZIP。此步骤不扣费。
选择单页
{
"share_url": "https://www.chuangkit.com/sharedesign?d=DESIGN_ID",
"item_ids": [2]
}
选择多页
{
"share_url": "https://www.chuangkit.com/sharedesign?d=DESIGN_ID",
"item_ids": [1, 3, 4]
}
响应
{
"ok": true,
"count": 1,
"items": [
{
"id": 2,
"thumbnail_url": "https://.../page-2",
"download_url": "/v1/download-link/TOKEN"
}
]
}
获取图片文件
GET/v1/download-link/{token}返回所选作品的图片二进制内容,并设置附件文件名。下载地址有效期约 30 分钟。临时平台签名失效时,服务端会重新解析作品地址后重试。
可能的响应类型:
image/jpegimage/pngimage/webpimage/svg+xml直接解析与下载
解析单个资源
POST/v1/resolve返回第一个解析结果的图片地址,适用于旧版单资源接入。该接口调用成功后立即扣费。
{"share_url":"https://SUPPORTED_SHARE_URL"}
直接返回图片
GET/v1/download?share_url=ENCODED_SHARE_URL解析分享链接并直接返回第一张图片文件,调用成功后立即扣费。多页选择场景应使用推荐的两步流程。
错误码
| 状态码 | 说明 |
|---|---|
| 400 | 链接格式错误、平台不受支持,或分享链接已失效。 |
| 401 | 缺少 API Key,或 API Key 无效。 |
| 402 | 账户额度不足。 |
| 404 | 未找到作品、选中页面或下载令牌。 |
| 502 | 上游平台返回异常内容,或图片资源请求失败。 |
| 503 | 服务处于维护模式。 |
| 504 | 上游平台渲染任务超时或未返回全部页面。 |
账户充值
注册用户通过电子邮件地址创建充值订单。订单支付成功后,服务端验签、增加用户与 API Key 额度,并通过已启用的 SMTP 配置发送到账邮件。
查询可用支付方式
GET/v1/public-settings{
"credits_per_cny": "1",
"payment_methods": [
{"value": "alipay", "label": "支付宝"},
{"value": "wechat", "label": "微信支付"}
]
}
创建支付订单
POST/v1/payments{
"email": "name@example.com",
"amount": "10.00",
"payment_method": "alipay"
}
{
"ok": true,
"order_no": "DD20260815000000XXXXXXXXXX",
"amount": "10.00",
"credits": 10,
"payment_url": "https://payment-gateway.example/..."
}
查询订单状态
GET/v1/payments/{order_no}status 为 pending 或 paid。用户端只提交支付宝或微信支付,实际支付渠道由管理员后台配置。支付回调采用金额核对、平台验签和幂等入账,同一订单的重复回调只计入一次额度。
计费说明
| 操作 | 是否扣费 |
|---|---|
| 平台识别 | 否 |
| 解析作品列表 | 否 |
| 生成下载地址 | 否 |
| 实际获取单张图片 | 是 |
| 免费模式 | 否 |
每次成功下载一张图片,扣除后台设置的单张下载额度。选择多个页面后,每个下载地址分别计费。