想换谁的脸都行,换脸 API 对接教程

张开发
2026/6/1 3:02:53 15 分钟阅读
想换谁的脸都行,换脸 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上传的目标图片链接。设置如下图所示代码示例可以发现在页面右侧已经自动生成了各种语言的代码如图所示部分代码示例如下CURLcurl -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://i-blog.csdnimg.cn/direct/d1e2753be888411f85fb7ae9ad23ddc5.png, target_image_url: https://i-blog.csdnimg.cn/direct/1e0dc90199974b59a10441638edea11d.png }Pythonimport requests url https://api.acedata.cloud/face/swap headers { accept: application/json, authorization: Bearer {token}, content-type: application/json } payload { source_image_url: https://i-blog.csdnimg.cn/direct/d1e2753be888411f85fb7ae9ad23ddc5.png, target_image_url: https://i-blog.csdnimg.cn/direct/1e0dc90199974b59a10441638edea11d.png } response requests.post(url, jsonpayload, headersheaders) print(response.text)响应示例请求成功后API 将返回换脸后端图片结果信息。例如{ 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 样例网站 https://webhook.site/打开该网站即可得到一个 Webhook URL如图所示将此 URL 复制下来就可以作为 Webhook 来使用此处的样例为 https://webhook.site/3b76eba5-4573-432a-b607-3000b87afc06。接下来我们可以设置字段callback_url为上述 Webhook URL同时填入相应的参数如图所示点击运行可以发现会立即得到一个结果如下{ task_id: 9cba9d36-3b14-43c9-85b6-86f6dfc3b096 }稍等片刻我们可以在 https://webhook.site/3b76eba5-4573-432a-b607-3000b87afc06 上观察到生成 Face Swap 的结果如图所示内容如下{ 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_mismatchedBad request, possibly due to missing or invalid parameters.400 api_not_implementedBad request, possibly due to missing or invalid parameters.401 invalid_tokenUnauthorized, invalid or missing authorization token.429 too_many_requestsToo many requests, you have exceeded the rate limit.500 api_errorInternal server error, something went wrong on the server.错误响应示例{ success: false, error: { code: api_error, message: fetch failed }, trace_id: 2cf86e86-22a4-46e1-ac2f-032c0f2a4e89 }结论通过本文档您已经了解了如何使用 Face Swap API 实现将将目标图片的人脸换到源图片的人脸之中。希望本文档能帮助您更好地对接和使用该 API。如有任何问题请随时联系我们的技术支持团队。

更多文章