Face Swap API 的对接和使用

Face Swap API 的主要功能是通过输入一张源图片和一张目标图片来将目标图片的人脸换到源图片的人脸之中。

本文档将详细介绍 Face Swap API 的对接说明,帮助您轻松集成并充分利用该 API 的强大功能。通过 Face Swap API ,您可以轻松实现将目标图片的人脸换到源图片的人脸之中。

申请流程

要使用 Face Swap API,需要先到 申请页面 Face Swap API申请相应的服务,进入页面之后,点击「Acquire」按钮,如图所示:

如果您尚未登录或注册,会自动跳转到登录页面邀请您来注册和登录,登录注册之后会自动返回当前页面。

首次申请时会有免费额度赠送,可以免费使用该 API。

请求示例

我们以俩种图片为示例,演示如何使用该 API。假设源图片为下图所示:

目标图片为:

接下来演示如何将目标图片的人脸换到源图片的人脸之中。

设置请求头和请求体

Request Headers 包括:

  • accept:指定接收 JSON 格式的响应结果,这里填写为 application/json
  • authorization:调用 API 的密钥,申请之后可以直接下拉选择。

Request Body 包括:

  • source_image_url:上传的源图片链接。
  • target_image_url:上传的目标图片链接。

设置如下图所示:

代码示例

可以发现,在页面右侧已经自动生成了各种语言的代码,如图所示:

部分代码示例如下:

CURL

bash 复制代码
curl -X POST 'https://api.acedata.cloud/face/swap' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "source_image_url": "https://cdn.acedata.cloud/n1lmd8.png",
  "target_image_url": "https://cdn.acedata.cloud/3np95r.png"
}'

Python

python 复制代码
import requests

url = "https://api.acedata.cloud/face/swap"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "source_image_url": "https://cdn.acedata.cloud/n1lmd8.png",
    "target_image_url": "https://cdn.acedata.cloud/3np95r.png"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

响应示例

请求成功后,API 将返回换脸后端图片结果信息。例如:

json 复制代码
{
  "image_url": "https://platform.cdn.acedata.cloud/face/4b13bdeb-1b19-4ea5-bddf-c2da14ba72e3.png",
  "image_width": 2008,
  "image_height": 1942,
  "image_size": 4006213,
  "task_id": "4b13bdeb-1b19-4ea5-bddf-c2da14ba72e3"
}

可以看到,结果中有一个 image_url 字段,里面包含了将目标图片的人脸换掉原图片的人脸后的图片链接,其它信息如下图所示:

  • image_url,生成图片的链接。
  • image_width,生成图片的宽度。
  • image_height,生成图片的长度。
  • image_size,生成图片的大小。
  • task_id,此次生成任务的 ID。

生成图片结果为:

可明显看到该图片已经成功将目标图片的人脸换到源图片的人脸之中。

异步回调

由于 Face Swap 生成的时间相对较长,大约需要 1-2 分钟,如果 API 长时间无响应,HTTP 请求会一直保持连接,导致额外的系统资源消耗,所以本 API 也提供了异步回调的支持。

整体流程是:客户端发起请求的时候,额外指定一个 callback_url 字段,客户端发起 API 请求之后,API 会立马返回一个结果,包含一个 task_id 的字段信息,代表当前的任务 ID。当任务完成之后,生成 Face Swap 的结果会通过 POST JSON 的形式发送到客户端指定的 callback_url,其中也包括了 task_id 字段,这样任务结果就可以通过 ID 关联起来了。

下面我们通过示例来了解下具体怎样操作。

首先,Webhook 回调是一个可以接收 HTTP 请求的服务,开发者应该替换为自己搭建的 HTTP 服务器的 URL。此处为了方便演示,使用一个公开的 Webhook 样例网站 webhook.site/,打开该网站即可得到一... Webhook URL,如图所示:

将此 URL 复制下来,就可以作为 Webhook 来使用,此处的样例为 webhook.site/3b76eba5-45...

接下来,我们可以设置字段 callback_url 为上述 Webhook URL,同时填入相应的参数,如图所示:

点击运行,可以发现会立即得到一个结果,如下:

json 复制代码
{
  "task_id": "9cba9d36-3b14-43c9-85b6-86f6dfc3b096"
}

稍等片刻,我们可以在 webhook.site/3b76eba5-45... 上观察到生成 Face Swap 的结果,如图所示:

内容如下:

json 复制代码
{
  "success": true,
  "task_id": "9cba9d36-3b14-43c9-85b6-86f6dfc3b096",
  "image_url": "https://platform.cdn.acedata.cloud/face/9cba9d36-3b14-43c9-85b6-86f6dfc3b096.png",
  "image_width": 2008,
  "image_height": 1942,
  "image_size": 4006481
}

可以看到结果中有一个 task_id 字段,其他的字段都和上文类似,通过该字段即可实现任务的关联。

错误处理

在调用 API 时,如果遇到错误,API 会返回相应的错误代码和信息。例如:

  • 400 token_mismatched:Bad request, possibly due to missing or invalid parameters.
  • 400 api_not_implemented:Bad request, possibly due to missing or invalid parameters.
  • 401 invalid_token:Unauthorized, invalid or missing authorization token.
  • 429 too_many_requests:Too many requests, you have exceeded the rate limit.
  • 500 api_error:Internal server error, something went wrong on the server.

错误响应示例

json 复制代码
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

结论

通过本文档,您已经了解了如何使用 Face Swap API 实现将将目标图片的人脸换到源图片的人脸之中。希望本文档能帮助您更好地对接和使用该 API。如有任何问题,请随时联系我们的技术支持团队。

相关推荐
程序员佳佳12 小时前
【万字硬核】从零构建企业级AI中台:基于Vector Engine整合GPT-5.2、Sora2与Veo3的落地实践指南
人工智能·gpt·chatgpt·ai作画·aigc·api·ai编程
崔庆才丨静觅13 小时前
惊了!1句话生成带货短视频!ACE Data Platform × SeeDance 让普通人也能当“视频导演”
api
星光不问赶路人1 天前
Nginx 的 location 路径匹配语法详解
nginx·api
小和尚敲代码2 天前
八字变十字国学api根据日期得到十字加入刻柱干支的api调用
api·十字·八字·国学·刻柱
新诺韦尔API2 天前
手机三要素验证不通过的原因?
大数据·智能手机·api
天远云服3 天前
拒绝性能瓶颈:使用Go协程高效清洗天远多头借贷行业风险数据
大数据·api
天远数科3 天前
前端体验优化:如何用Node.js清洗天远多头借贷行业风险版的海量指标
大数据·api
wxl7812273 天前
零基础10分钟部署MinerU:Docker Compose一键搭建指南
api·gradio·docker compose·vllm·mineru2.7.1
崔庆才丨静觅3 天前
Veo API:0门槛量产商业级视频!2026视频流量密码,创作者/商家必藏
google·api
请叫我啊腻4 天前
高并发接入GrsAi APi教程!nano banana pro0.09/张!附亚马逊Ai批量生图工具(免费)
api·独立开发者·nanobanana·nanobananapro·纳米香蕉·出海开发·亚马逊电商