跳到主内容
YIFU
登录 免费试用
开发者 · API v1

把 YIFU 的出图能力,
接进你已有的系统。

REST API · JSON · 全部走 HTTPS。 品牌版 / 企业版自动开通。基础版与专业版暂不含 API。 当前线上版本 v1,base URL https://api.yifu.app/v1

01 介绍

YIFU API 允许你从自己的系统(ERP / OMS / 内部工具)直接调用出图流水线:

  1. API Key 鉴权(每个组织一个,可多把)
  2. 把平铺图 上传到 R2(拿到 upload_id
  3. 创建任务,传 SKU 信息 + 模特 + 场景 + 平台
  4. 轮询任务订阅 Webhook等回调
  5. 任务完成后从 job.images[] 里取出预签名 URL 下载或转存

所有响应是 JSON。时间戳是 Unix milliseconds (UTC)。金额单位是积分(¥1 = 10 积分)。

02 认证

所有请求需要带 Authorization: Bearer <api_key>。API Key 在控制台 设置 · API & 集成页面一次性展示,后续只显示前 4 + 后 4 位。

curl https://api.yifu.app/v1/jobs \
  -H "Authorization: Bearer bk_live_a1b2c3d4..."

每把 Key 可配置:

  • 权限范围:只读 / 读写 / 全权(影响能否创建任务、删除资源等)
  • IP 白名单(企业版)
  • 速率上限(见 速率限制
Key 泄露怎么办:到控制台立即禁用泄露的 Key,再生成新 Key 替换。禁用立即生效,已在途请求会拿到 401。

03 上传图片

POST/v1/uploads

上传一张原图(平铺 / 挂拍),拿到 upload_id 用于建任务。支持 image/jpeg / image/png / image/webp,单张不超过 20 MB

curl https://api.yifu.app/v1/uploads \
  -H "Authorization: Bearer $BUPI_API_KEY" \
  -F "file=@./tshirt-flat.jpg"
响应
{
  "upload_id": "up_2871hgT9aP",
  "url": "https://r2.yifu.app/uploads/up_2871hgT9aP.jpg",
  "size_bytes": 1840261,
  "expires_at": 1779870000000
}

expires_at 是预签名 URL 的过期时间(默认 7 天)。建任务后 R2 文件会被永久保留并归入任务。

04 创建任务

POST/v1/jobs

提交一个出图任务。建任务立即扣 5 积分用于草图。精修阶段在草图确认后单独触发并扣 48 积分(8 张 × 6 积分)。

curl https://api.yifu.app/v1/jobs \
  -H "Authorization: Bearer $BUPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sku": "BP-2871",
    "title": "亚麻短袖衬衫 · M 码",
    "upload_id": "up_2871hgT9aP",
    "platform": "tiktok_shop_us",
    "model_id": "m-04",
    "scene_id": "scene-us-suburban",
    "english_text": {
      "hang_tag": "100% Linen · BP-2871 · Size M",
      "promo": "FALL 2026 · LOOSE FIT"
    },
    "metadata": { "internal_ref": "erp-job-19384" }
  }'
响应
{
  "id": "job_9aT2bX",
  "status": "draft_running",
  "credits_spent": 5,
  "credits_balance": 18345,
  "created_at": 1779787613229
}

05 任务列表

GET/v1/jobs

分页列出本组织的任务。

参数类型说明
pageint页码,默认 1
sizeint10–100,默认 10
statusstringdraft_running / refining / done / failed,或 in_progress 同时匹配前两者
sinceint (ms)只返回此时间戳后创建的任务
qstring按 SKU 或标题模糊匹配

06 任务详情

GET/v1/jobs/:id

取单个任务的完整状态。前端轮询建议间隔 1.5s

{
  "id": "job_9aT2bX",
  "sku": "BP-2871",
  "title": "亚麻短袖衬衫 · M 码",
  "status": "done",
  "progress": { "drafts_done": 8, "refined_done": 8 },
  "drafts": [ { "id": "img_d_01", "url": "...", "watermark": true }, ... ],
  "images": [
    {
      "id": "img_r_01",
      "url": "https://r2.yifu.app/jobs/job_9aT2bX/01.jpg?...",
      "qa_score": 94,
      "platform_crops": {
        "amazon_1x1": "https://r2.yifu.app/.../amazon-01.jpg",
        "tiktok_9x16": "https://r2.yifu.app/.../tiktok-01.jpg"
      }
    }
  ],
  "created_at": 1779787613229,
  "completed_at": 1779787812391
}

所有 URL 都是预签名链接,7 天有效。如果你的系统需要长期持有,请下载到你的存储

07 触发精修

POST/v1/jobs/:id/refine

草图确认后调一次进入精修阶段,扣 48 积分。同一任务只能调一次,重复调返回 409 conflict

curl https://api.yifu.app/v1/jobs/job_9aT2bX/refine \
  -H "Authorization: Bearer $BUPI_API_KEY" \
  -X POST

08 Webhooks

在控制台 Webhooks 区配置一个 HTTPS 接收端,订阅以下事件:

事件触发时机
job.drafts_ready8 张草图全部生成完,等待用户确认
job.refining精修开始
job.done精修完成,可下载
job.failed任务失败,已自动退积分
credits.low账户余额跌破阈值

请求体是 POST application/json,带签名头 X-Yifu-Signature(HMAC-SHA256 over body)。请用你的 Webhook Secret 验签后再信任内容。

POST /your-endpoint HTTP/1.1
Content-Type: application/json
X-Yifu-Signature: sha256=8f3a...
X-Yifu-Event: job.done
X-Yifu-Delivery: whd_5tQ2

{
  "type": "job.done",
  "id": "evt_8aZ9pK",
  "created_at": 1779787812391,
  "data": {
    "job_id": "job_9aT2bX",
    "images_count": 8
  }
}

我们要求 2 秒内返回 2xx。失败会按 30s / 2min / 10min / 1h / 6h 重试 5 次。

09 错误码

所有错误响应体形如:

{
  "error": {
    "code": "insufficient_credits",
    "message": "至少需要 53 积分,当前余额 12",
    "request_id": "req_011Cb..."
  }
}
HTTPcode说明
400 bad_request 请求参数缺失或格式错误
401 unauthorized API Key 缺失或无效
402 insufficient_credits 积分不足,请充值或升级套餐
403 forbidden 套餐不含此能力(如基础版调 API)或团队角色不足
404 not_found 资源不存在或不属于当前组织
422 validation_failed 字段语义错误(如未授权的模特 ID)
429 rate_limited 请求过频,请按 Retry-After 头重试
500 internal_error 服务器异常,已记录,可联系客服报 request id

报问题时请附上 request_id,能让客服直接定位日志。

10 速率限制

按 API Key 限制并发与每分钟调用量:

套餐RPS并发任务
品牌版510
企业版20议价无上限

触发限流返回 429,响应头会带 Retry-After(秒)。请遵守此头,不要循环重试。

关于变更:我们对 v1 API 承诺向后兼容。Breaking 变更走新版本路径(如 /v2/jobs),且提前 90 天预告。已废弃端点至少保留 180 天。