使用可立图证件照API制作证件照,调用免费,内含php、python、java的demo
小编给大家介绍一下证件照API接口如何使用,可立图的证件照API接口
1.第一步 注册账号,获取APIKeyhttps://www.clipimg.com
2.开发对接证件照接口
接口文档地址API文档
地址:https://www.clipimg.com/api/idphoto/make
请求方式:POST
数据类型:JSON
响应类型:JSON
计费:此接口不产生费用
参数[Header]
参数名 | 说明 | 是否必选 | 类型 |
X-API-Key | 秘钥 | 必选 | string |
Content-Type | 请求数据类型 | 必选 | application/json |
参数[Body]:
参数名 | 说明 | 是否必选 | 类型 |
file | 图片的base64格式,不包含base64的头部数据 | 必选 | string |
spec_id | 规格id | 可选,width、height不传值时必传 | int |
width | 宽度px | 可选,spec_id不传值时必传 | int |
height | 高度px | 可选,spec_id不传值时必传 | int |
fair_level | 美颜级别 | 可选,0-1之间的小数,为0时不美颜 | float |
color | 背景色 | 可选,默认值蓝红白三种颜色 | list |
facepose | 人脸是否正对摄像头误差范围 | 可选,越小越严格,越大容错率越高,默认:20 | float |
eyeskew | 双眼倾斜误差范围 | 可选,越小越严格,越大容错率越高,默认:20 | float |
face_ratio_min | 人脸最小比率 | 可选,默认0.4 | float |
face_ratio | 小于最小比例后放大比例 | 可选,默认0.52 | float |
dpi | 返回的证件照分辨率,如果不设置该值,服务端会给出默认配置,一般返回300dpi的图片 | 可选 | int |
3.请求示例
java
//证件照制作
public JSONObject IdphotoMake(String img,List<Map> colors,int width,int height,float fair_level,int dpi) throws IOException{
HashMap<String,Object> data = new LinkedHashMap<>();
String base64Str = fileToBase64(new File(img));
// colors组装示例
// HashMap<String,Object> color = new LinkedHashMap<>();
// color.put("name","blue");
// color.put("start_color","#FFFFFF");
// List<Map> colors = new LinkedList<Map>();
// colors.add(color);
data.put("file",base64Str);
data.put("color",colors);
data.put("dpi",dpi);
data.put("width",width);
data.put("height",height);
data.put("fair_level",fair_level);
StringEntity entity = new StringEntity(JSON.toJSONString(data), ContentType.APPLICATION_JSON, "utf-8", false);//解决中文乱码问题
Response response;
try {
response = Request.post("https://www.clipimg.com/api/idphoto/make")
.addHeader("X-API-Key", this.apiKey)
.body(entity).execute();
return JSON.parseObject(response.returnContent().asString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
php
/**
* 制作证件照
* $img 上传的人像图片本地地址
* 参数说明参考文档https://clipimg.com/wp/api-doc/
*/
public function IdphotoMake($img,$color,$width,$height,$fair_level,$dpi){
$client = new Client();
$base64_img = base64_encode(file_get_contents($img));//转换成base64格式
$response = $client->request('POST', $this->api_url.$this->idphoto, [
'headers' => [
'X-API-Key' => $this->apiKey,
'Content-Type' => 'application/json'
],
'body'=>json_encode(["file"=>$base64_img,"width"=>$width,'height'=>$height,'dpi'=>$dpi,"color"=>$color,'fair_level'=>$fair_level])
]);
$json = json_decode($response->getBody()->getContents());
return $json;
}
python
# /**
# * 制作证件照
# * img 上传的人像图片本地地址
# * 参数说明参考文档https://clipimg.com/wp/api-doc/
# */
def IdphotoMake(self,img,color,width,height,fair_level,dpi):
with open(img, 'rb') as f:
pic = f.read()
base64_img = base64.b64encode(pic).decode()
response = requests.post(self.api_url + self.idphoto,
headers = {
'X-API-Key' : self.apiKey,
'Content-Type' : 'application/json'
},
data=json.dumps({"file":base64_img,"width":width,'height':height,'dpi':dpi,"color":color,'fair_level':fair_level})
)
result = response.json()
return result
完整示例下载