证件照换装API实战指南:一键换装,告别服装不合格!

“不合格” 的烦恼!
还在为证件照服装不符合要求而烦恼?可立图ClipImg证件照换装API,自动识别身形与姿态,一键替换为正装,让你的照片瞬间专业起来!
一、痛点场景:你的证件照是否也遇到过这些尴尬吗?
- 求职简历:穿着休闲T恤的照片,HR看了直摇头?
- 考试报名:公务员、教资考试要求深色正装,你的照片却穿着花衬衫?
- 校园采集:学校要求统一着装,但大家拍的照片五花八门?
- 照相馆照相馆**:顾客想换装,但现场没有合适的服装?
别担心!可立图ClipImg证件照换装API来帮你!
二、什么是证件照换装API?
可立图ClipImg提供的证件照智能换装API,基于先进的AI图像融合技术,能够:
- ✅ 自动识别身形与姿态:无需手动调整,AI自动匹配精准匹配
- ✅ 支持男/女/童多套正装模板:1-16男装、17-32女装、33-48童装
- ✅ 无痕融合,效果逼真:自动调整服装大小、角度和光影,与人物颈部自然衔接
- ✅ 适用于求职、考试报名、校园企业采集及照相馆等场景
重要提示:本接口专注于“换装”功能,不提供抠图/去背景服务。输入图片必须是纯色背景或渐变色背景的证件照。如果需要从生活照制作证件照并换装,请先调用证件照制作接口。
三、快速开始:快速上手
准备工作
- 注册可立图ClipImg账号,获取API Key
- 准备好纯色或渐变色背景的证件照
- 选择你想要的服装ID
接口地址
POST https://www.clipimg.com/api/idphoto/change_clothes
请求参数说明
参数类型必填说明filestring条件图片输入(二选一)img_namestring条件已存在的证件照图片名称(推荐使用)clothes_idint是服装IDbg_colorstring是背景色,16进制表示file_formatint否输出格式(0:PNG,1:JPG)
四、代码示例(完全根据文档编写)
1. Python示例(requests库)
import base64
import json
import requests
# 配置信息
API_KEY = "YOUR_API_KEY"
API_URL = "https://www.clipimg.com/api/idphoto/change_clothes"
# 读取图片并转为Base64
with open("photo.jpg", "rb") as f:
img_b64 = base64.b64encode(f.read()).decode("ascii")
# 构建请求参数
payload = {
"file": img_b64,
"clothes_id": 1, # 1号男装
"bg_color": "#FFFFFF", # 白色背景
"file_format": 1 # 输出JPG格式
}
headers = {
"X-API-Key": API_KEY,
"Content-Type": "application/json"
}
# 发送请求
r = requests.post(API_URL, headers=headers, data=json.dumps(payload))
print(r.json())
2. Node.js示例(axios库)
const axios = require('axios');
const fs = require('fs');
const apiKey = 'YOUR_API_KEY';
const imagePath = 'photo.jpg';
const imageBase64 = fs.readFileSync(imagePath, { encoding: 'base64' });
axios.post('https://www.clipimg.com/api/idphoto/change_clothes', {
file: imageBase64,
clothes_id: 1,
bg_color: '#FFFFFF',
file_format: 1
}, {
headers: {
'X-API-Key': apiKey,
'Content-Type': 'application/json'
}
})
.then(response => {
console.log(JSON.stringify(response.data, null, 2));
})
.catch(error => {
console.error(error.response ? error.response.data : error.message);
});
3. PHP示例(cURL)
$imageBase64,
'clothes_id' => 1,
'bg_color' => '#FFFFFF',
'file_format' => 1
];
$ch = curl_init('https://www.clipimg.com/api/idphoto/change_clothes');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-API-Key: ' . $apiKey,
'Content-Type: application/json'
],
CURLOPT_POSTFIELDS => json_encode($data)
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo "HTTP Code: $httpCode\n";
echo $response;
?>
4. Java示例(OkHttp)
```java
import okhttp3.*;
import java.io.File;
import java.nio.file.Files;
import java.util.Base64;
public class ChangeClothesDemo {
public static void main(String[] args) throws Exception {
String apiKey = "YOUR_API_KEY";
File file = new File("photo.jpg");
byte[] fileContent = Files.readAllBytes(file.toPath());
String imageBase64 = Base64.getEncoder().encodeToString(fileContent);
String json = "{"
+ "\"file\": \"" + imageBase64 + "\","
+ "\"clothes_id\": 1,"
+ "\"bg_color\": \"#FFFFFF\","
+ "\"file_format\": 1"
+ "}";
OkHttpClient client = new OkHttpClient();
RequestBody body = RequestBody.create(MediaType.parse("application/json"), json);
Request request = new Request.Builder()
.url("https://www.clipimg.com/api/idphoto/change_clothes")
.addHeader("X-API-Key", apiKey)
.post(body)
.build();
try (Response response = client.newCall(request).execute()) {
System.out.println(response.body().string());
}
}
}
5. C#示例(HttpClient)
using System;
using System.IO;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var apiKey = "YOUR_API_KEY";
var imagePath = "photo.jpg";
var imageBase64 = Convert.ToBase64String(File.ReadAllBytes(imagePath));
var json = $@"{{
""file"": ""{imageBase64}"",
""clothes_id"": 1,
""bg_color"": ""#FFFFFF"",
""file_format"": 1
}}";
}}";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("X-API-Key", apiKey);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://www.clipimg.com/api/idphoto/change_clothes", content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
}
五、进阶技巧:先制作再换装(推荐)
为了获得最佳效果,建议先使用强烈推荐先使用证件照制作API将生活照转为标准证件照,再调用换装接口!
完整流程示例
import base64
import json
import requests
API_KEY = "YOUR_API_KEY"
HEADERS = {
"X-API-Key": API_KEY,
"Content-Type": "application/json"
}
# 第一步:读取图片
with open("photo.jpg", "rb") as f:
img_b64 = base64.b64encode(f.read()).decode("ascii")
# 第二步:制作证件照
make_url = "https://www.clipimg.com/api/idphoto/make"
make_payload = {
"file": img_b64,
"width": 295,
"height": 413,
"file_format": 1,
"dpi": 300
}
make_resp = requests.post(make_url, headers=HEADERS, data=json.dumps(make_payload))
make_resp.json()
if make_result["code"] == 0:
img_name = make_result["data"]["filenames"]["img_name"]
print(f"✅ 证件照制作成功!")
# 第三步:使用img_name换装
change_url = "https://www.clipimg.com/api/idphoto/change_clothes"
change_payload = {
"img_name": img_name, # 使用制作好的图片
"clothes_id": 1, # 1号男装
"bg_color": "#FFFFFF" # 白色背景
}
}
change_resp = requests.post(change_url, headers=HEADERS, data=json.dumps(change_payload))
change_result = change_resp.json()
if change_result["code"] == 0:
print("✅ 换装成功!")
print("预览地址:", change_result["data"]["preview_url"])
print("下载地址:", change_result["data"]["download_url"])
else:
print(f"❌ 换装失败: {change_result['msg']}")
else:
print(f"❌ 证件照制作失败: {make_result['msg']}")
六、响应格式与状态码说明
成功响应示例
{
"code": 0,
"msg": "Success",
"data": {
"download_url": "https://www.clipimg.com/api/idphoto/change_clothes/download/...",
"preview_url": "https://www.clipimg.com/api/idphoto/change_clothes/preview/...",
"img_name": "9ad..._changeCloth",
"preview_img_name": "9ad..._changeCloth_preview",
"print_img_name": "9ad..._changeCloth_print",
"print_url": "https://www.clipimg.com/api/idphoto/print_download/...",
"preview_print_url": "https://www.clipimg.com/api/idphoto/print_preview/...",
"preview_print_img_name": "9ad..._changeCloth_print_preview"
}
}
常见状态码
状态码说明0成功400参数错误402API点数已用完404原始文件不存在或已过期410未检测到人脸411换装须要尽量露出脖子415换装异常416处理超时 433人脸关键点解析失败
七、计费规则
操作费用调用换装接口 免费下载无水印换装照 30点/次下载无水印排版照 100点/次
⚠️ 重要提醒:制作结果仅保留1小时,1小时后自动删除,请及时保存!重复下载同一张照片不会重复扣费。
八、最佳实践建议
- 输入图片要求:确保输入的是纯色或渐变色背景的证件照
- 推荐使用img_name:先通过制作接口生成证件照,再用img_name换装,效果更好
- 合理选择服装ID:根据人物性别和年龄选择合适的服装模板
- 及时下载保存:结果仅保留1小时,避免重复扣费
- 错误处理:建议对各种状态码进行完整的错误处理
九、总结
可立图ClipImg的证件照换装API,让你的应用瞬间拥有专业的证件照处理能力。无论是开发小程序、APP、小程序,还是搭建企业系统,都能轻松集成!
现在就去注册,获取你的API Key,开启智能换装之旅吧!
📌 本文档基于可立图ClipImg官方API文档编写,所有代码示例均来源于官方文档。
🔗 更多信息请访问:https://www.clipimg.com
