证件照处理以及排版

产品简介

利用人工智能技术全自动分割出照片中的人像,对人脸进行区域识别,智能裁剪并缩放至指定证件照大小的合适比例。可以指定照片纸张大小并且进行自动打印排版。

产品定价

您可以通过在线充值付费方式,购买API调用次数。

查看价格列表

注意:API每次成功调用,只需要证件照消耗1点,如果同时需要进行智能打印排版,总共消耗2点

API说明文档

证件照处理及排版API

请求说明

  • 请求URL:http://www.picup.shop/api/v1/idphoto/printLayout
  • 请求方式:POST
  • 返回类型:json数据
  • 输入参数:

1) 请求参数(Header)

参数 参数类型 描述
Content-Type string application/json
APIKEY string 您的专属API Key

2) 请求参数(Body)

{
    base64 (string, required): 头像图片文件的base64 ,
    bgColor (string, required): 证件照背景色,格式为十六进制RGB, 如:3557FF ,
    bgColor2 (string, optional): 证件照渐变背景色(非必填),格式为十六进制RGB, 如:3557FF , 如果需要渐变色处理,填写此颜色,背景色会纵向从上到下bgColor渐变为bgColor2,
    dpi (integer, required): 证件照打印dpi, 一般为300 ,
    mmHeight (integer, required): 证件照物理高度,单位为毫米 ,
    mmWidth (integer, required): 证件照物理宽度,单位为毫米 ,
    printBgColor (string, required): 排版背景色,格式为十六进制RGB, 如:FFFCF9 ,
    printMmHeight (integer, required): 打印的排版尺寸,单位为毫米, 如果为0或小于证件照尺寸则不会进行打印排版,输出单张证件照 ,
    printMmWidth (integer, required): 打印的排版尺寸,单位为毫米, 如果为0或小于证件照尺寸则不会进行打印排版,输出单张证件照,
    dress(string, optional): 换装参数,为类型+换装编号格式,比如 man1 男士第一个换装图, woman3 女士第三个换装,child5 儿童第五个换装。
                             换装需额外扣除一个点点数
}

换装样图参见:https://deeplor.oss-cn-hangzhou.aliyuncs.com/site/idphoto-dress.zip

请求参数示例

{
  "base64": "/9j/4AAQSkZJRgABAQAAAQABA...",
  "bgColor": "FFFFFF",
  "dpi": 300,
  "mmHeight": 35,
  "mmWidth": 25,
  "printBgColor": "FFFFFF",
  "printMmHeight": 210,
  "printMmWidth": 150
}

3) 响应数据

{
  "code": 0,
  "data": {
    "idPhotoImage": 单个证件照的图片地址,url在十分钟内访问有效
    "printLayoutImage": 证件照打印排版的图片地址,url在十分钟内访问有效,如果不排版或者排版尺寸小于证件照尺寸,地址和证件照地址相同
    "idPhotoCount": 证件照排版数量,如果不排版或者排版尺寸小于证件照尺寸,输出0
  },
  "msg": null,
  "time": 1599644436677
}

响应数据示例

{
  "code": 0,
  "data": {
    "idPhotoImage": "http://wdpicup.oss-cn-hangzhou.aliyuncs.com/idphoto/2020/09/09/e216972d492b47e0ba9ef544c1205691.jpeg?Expires=1599645036&OSSAccessKeyId=LTAIzt3dzL2GfSyG&Signature=inwcRkIjxmjq30DMnlwrcoux7Jo%3D",
    "printLayoutImage": "http://wdpicup.oss-cn-hangzhou.aliyuncs.com/idphoto/2020/09/09/e216972d492b47e0ba9ef544c1205691.jpeg?Expires=1599645036&OSSAccessKeyId=LTAIzt3dzL2GfSyG&Signature=inwcRkIjxmjq30DMnlwrcoux7Jo%3D",
    "idPhotoCount": 25
  },
  "msg": null,
  "time": 1599644436677
}

语言示例

python
import requests

url = 'http://www.picup.shop/api/v1/idphoto/printLayout'
apikey = '你的apikey'
headers={'APIKEY': apikey, "Content-type": "application/json"}
data = {
  "base64": "/9j/4AAQSkZJRgA...此处省略base64一万字,注意,有的人测试的时候使用在线base64转化工具,注意将data:image/jpg;base64,这部分字符串去除",
  "bgColor": "FFFFFF",
  "dpi": 300,
  "mmHeight": 35,
  "mmWidth": 25,
  "printBgColor": "FFFFFF",
  "printMmHeight": 210,
  "printMmWidth": 150
}
response=requests.post(url=url,headers=headers,json=data)
print(response.content)
java (RestTemplate)
    RestTemplate restTemplate = new RestTemplate();
    String url = "http://www.picup.shop/api/v1/idphoto/printLayout";
    HashMap<String,Object> data = new LinkedHashMap<>();

    byte[] bytes = FileUtils.readFileToByteArray(new File("D:/picup/4.jpg"));
    byte[] base64Bytes = Base64.getEncoder().encode(bytes);
    String base64Str = new String(base64Bytes);


    data.put("base64",base64Str);
    data.put("bgColor","FFFFFF");
    data.put("dpi","300");
    data.put("mmHeight","35");
    data.put("mmWidth","25");
    data.put("printBgColor","FFFFFF");
    data.put("printMmHeight","210");
    data.put("printMmWidth","150");
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
    headers.add("APIKEY","你的apikey");
    HttpEntity<String> request = new HttpEntity<>(JSON.toJSONString(data), headers);
    ResponseEntity<String> postForEntity = restTemplate.postForEntity(url,request,String.class);
    System.out.println(postForEntity.getBody());
php
    $host = "http://www.picup.shop";
    $path = "/api/v1/idphoto/printLayout";
    $method = "POST";
    $apikey = "你的apikey";
    $headers = array();
    array_push($headers, "APIKEY:" . $apikey);
    array_push($headers, "Content-Type:application/json; charset=UTF-8");
    $querys = "idcard=210000&realname=%E5%BC%A0%E4%B8%89";

    $data = array(
      "base64"=> "/9j/4AAQSkZJRgA...此处省略base64一万字,注意,有的人测试的时候使用在线base64转化工具,注意将data:image/jpg;base64,这部分字符串去除",
      "bgColor"=>"FFFFFF",
      "dpi"=>300,
      "mmHeight"=>35,
      "mmWidth"=>25,
      "printBgColor"=>"FFFFFF",
      "printMmHeight"=>210,
      "printMmWidth"=>150
    )
    $bodys = json_encode($data);
    $url = $host . $path;
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_FAILONERROR, false);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_HEADER, true);
    if (1 == strpos("$".$host, "https://"))
    {
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    }
    curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
    var_dump(curl_exec($curl));

错误码列表

点击查看错误码列表

请求限制

当前api QPS限制为 1次/秒

常见问题

  • Q:输入的图片格式有什么要求?
  • A:支持PNG、JPG、JPEG、BMP、GIF

  • Q:支持图片大小有限制吗?

  • A:目前上传的分辨率最大4096x4096像素,图片文件大小15MB以下

  • Q:支持批量抠图吗?

  • A:登录后,就可以批量上传。帮你节省更多时间。别忘了,在缩略图下方,还有批量打包下载的按钮哦。也可以下载桌面客户端哦。

results matching ""

    No results matching ""