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

📸 报名/考试照片,一键在线制作

手机自拍也能做,支持换装/美颜/生成回执

打开微信小程序制作

打开微信扫一扫,进入小程序制作

微信扫码制作证件照

“不合格” 的烦恼!

还在为证件照服装不符合要求而烦恼?可立图ClipImg证件照换装API,自动识别身形与姿态,一键替换为正装,让你的照片瞬间专业起来!

一、痛点场景:你的证件照是否也遇到过这些尴尬吗?

  • 求职简历:穿着休闲T恤的照片,HR看了直摇头?
  • 考试报名:公务员、教资考试要求深色正装,你的照片却穿着花衬衫?
  • 校园采集:学校要求统一着装,但大家拍的照片五花八门?
  • 照相馆照相馆**:顾客想换装,但现场没有合适的服装?

别担心!可立图ClipImg证件照换装API来帮你!

二、什么是证件照换装API?

可立图ClipImg提供的证件照智能换装API,基于先进的AI图像融合技术,能够:

  • 自动识别身形与姿态:无需手动调整,AI自动匹配精准匹配
  • 支持男/女/童多套正装模板:1-16男装、17-32女装、33-48童装
  • 无痕融合,效果逼真:自动调整服装大小、角度和光影,与人物颈部自然衔接
  • 适用于求职、考试报名、校园企业采集及照相馆等场景

重要提示:本接口专注于“换装”功能,不提供抠图/去背景服务。输入图片必须是纯色背景或渐变色背景的证件照。如果需要从生活照制作证件照并换装,请先调用证件照制作接口

三、快速开始:快速上手

准备工作

  1. 注册可立图ClipImg账号,获取API Key
  2. 准备好纯色或渐变色背景的证件照
  3. 选择你想要的服装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小时后自动删除,请及时保存!重复下载同一张照片不会重复扣费。

八、最佳实践建议

  1. 输入图片要求:确保输入的是纯色或渐变色背景的证件照
  2. 推荐使用img_name:先通过制作接口生成证件照,再用img_name换装,效果更好
  3. 合理选择服装ID:根据人物性别和年龄选择合适的服装模板
  4. 及时下载保存:结果仅保留1小时,避免重复扣费
  5. 错误处理:建议对各种状态码进行完整的错误处理

九、总结

可立图ClipImg的证件照换装API,让你的应用瞬间拥有专业的证件照处理能力。无论是开发小程序、APP、小程序,还是搭建企业系统,都能轻松集成!

现在就去注册,获取你的API Key,开启智能换装之旅吧!

📌 本文档基于可立图ClipImg官方API文档编写,所有代码示例均来源于官方文档。

🔗 更多信息请访问:https://www.clipimg.com

📸 报名/考试照片,一键在线制作

手机自拍也能做,支持换装/美颜/生成回执

打开微信小程序制作

打开微信扫一扫,进入小程序制作

微信扫码制作证件照

类似文章