换脸 API

通过简单的 REST API 为你的产品添加图片和视频换脸能力。提交任务,轮询结果,获取托管的输出 URL。

所有订阅套餐均包含 API 访问权限。请求与网页应用共用同一积分池:没有单独的 API 账单。

工作原理

  1. 1

    创建 API 密钥

    订阅任意套餐后,在控制台的 API 密钥页面创建密钥。密钥只显示一次,请妥善保存。

  2. 2

    上传媒体文件

    请求一个预签名上传 URL,然后将源人脸和目标图片或视频 PUT 到该地址。

  3. 3

    换脸并轮询

    提交换脸任务,然后轮询任务状态,直到 status 变为 succeeded,再下载 outputUrl。

身份认证

每个请求都要在 x-api-key 请求头中携带你的 API 密钥。密钥归属于你的账户,会消耗你账户的积分。请保密密钥;如果泄露,请在控制台轮换。

x-api-key: adf_YOUR_API_KEY

接口列表

POST /api/v1/uploads

为源文件或目标文件创建预签名上传 URL。用相同的 Content-Type 将文件 PUT 到 uploadUrl,然后在换脸请求中使用 url。支持的类型:JPEG、PNG、WebP、MP4、QuickTime、WebM。

curl -X POST https://aideepfake.io/api/v1/uploads \
  -H "x-api-key: adf_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fileName": "target.jpg", "contentType": "image/jpeg"}'

# → { "success": true, "data": { "uploadUrl": "...", "url": "https://...", "expiresIn": 600 } }

curl -X PUT "UPLOAD_URL_FROM_RESPONSE" \
  -H "Content-Type: image/jpeg" \
  --data-binary @target.jpg

POST /api/v1/face-swap

发起换脸任务。图片换脸消耗 15 积分,视频换脸消耗 20 积分,与网页应用价格一致。将 targetType 设为 image 或 video。可选字段:faceEnhance、frameEnhance、watermark,以及视频专用的 targetDurationSeconds。

curl -X POST https://aideepfake.io/api/v1/face-swap \
  -H "x-api-key: adf_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceUrl": "https://.../source.jpg",
    "targetUrl": "https://.../target.jpg",
    "targetType": "image"
  }'

# → { "success": true, "data": { "taskId": "...", "creditsCost": 15 } }

视频时长限制:普通换脸最长 300 秒;开启 faceEnhance 或 frameEnhance 时最长 90 秒。

GET /api/v1/face-swap/{taskId}

轮询任务状态。status 字段会从 processing 变为 succeeded 或 failed。成功时 outputUrl 保存托管的结果文件。失败的任务会自动退还积分。

curl https://aideepfake.io/api/v1/face-swap/TASK_ID \
  -H "x-api-key: adf_YOUR_API_KEY"

# → { "success": true, "data": { "taskId": "...", "status": "succeeded",
#      "outputUrl": "https://...", "targetType": "image" } }

GET /api/v1/credits

在提交任务前查询当前的积分余额和套餐信息。

curl https://aideepfake.io/api/v1/credits \
  -H "x-api-key: adf_YOUR_API_KEY"

# → { "success": true, "data": { "credits": 1000, "subscriptionCredits": 985,
#      "oneTimeCredits": 15, "planId": "...", "currentPeriodEnd": "..." } }

价格与配额

API 没有单独的价目表。每个请求都消耗订阅套餐中的积分:每次图片换脸 15 积分,每次视频换脸 20 积分,与网页应用完全一致。每月的积分配额由你的套餐决定。

比较套餐

错误码

HTTP错误码含义
401INVALID_API_KEYAPI 密钥缺失、无效、已禁用或已过期。
403API_REQUIRES_SUBSCRIPTION账户没有生效的订阅。请订阅套餐后再使用 API。
402INSUFFICIENT_CREDITS账户积分不足以完成此任务。请升级套餐或购买积分包。
400VIDEO_TOO_LONG视频时长超过所选选项对应的限制。
429RATE_LIMITED请求过于频繁。请放慢速度,稍等片刻后重试。

常见问题

谁可以使用换脸 API?

所有拥有生效订阅套餐的账户。免费账户可以使用网页应用,但不能使用 API。

API 请求如何计费?

与网页应用相同:每次图片换脸 15 积分,每次视频换脸 20 积分。请求与网页端消耗同一个积分余额。

API 支持视频换脸吗?

支持。将 targetType 设为 video。普通视频换脸最长 300 秒;开启人脸或画面增强的换脸最长 90 秒。

如何获取结果?

轮询 GET /api/v1/face-swap/{taskId},直到 status 变为 succeeded。响应中的 outputUrl 指向托管的结果文件。

任务失败会怎样?

失败的任务会自动退还积分。状态响应中的 error 字段会说明失败原因。

订阅到期后会怎样?

你的 API 密钥会立即停止工作。重新订阅后密钥自动恢复可用:不需要创建新密钥。

开始构建

创建你的 API 密钥,几分钟内完成第一次换脸调用。

创建 API 密钥