开放平台
证件照生成

证件照生成

2026.6.23更新·适用Agent接入 / API 接入
能力介绍
接入API
接入Agent
接入MCP
接入CLI
接入HermesAgent

接口说明

证件照生成接口采用最新AI图像算法,轻松将您拍摄的素描水彩等绘画作品转化为专业级绘画电子档,高度还原原图笔触细节。

HTTP方法

调用方式(异步调用仅支持转 Word/Excel/PDF)

  • 当图片或页数较多(建议 > 5 页)时,推荐使用异步方式调用,以避免同步请求因算法处理耗时过长而超时。
  • 同步接口返回结果为 Base64 编码数据;异步接口返回文件/图片/压缩包的下载 URL。

Header设置

请求参数

请求示例

PYTHONCURLJAVA复制代码
1from time import time
2import requests
3import json
4import uuid
5import hashlib
6
7
8def get_http_client():
9    return requests.session()
10
11
12def create_demo_param(client_id, client_secret):
13    business = "vision"
14    sign_method = "SHA3-256"
15    sign_nonce = uuid.uuid4().hex
16    timestamp = int(time() * 1000)
17    signature = get_signature(client_id, client_secret, business, sign_method, sign_nonce, timestamp)
18    req_id = uuid.uuid4().hex
19
20
21    param = {
22        "dataUrl": "https://example.jpg",
23        "dataType": "image",
24        "serviceOption": "scan",
25        "inputConfigs": '{"function_option": "id_photo"}',
26        "outputConfigs": '{"need_return_image":"True"}',
27        "reqId": req_id,
28        "clientId": client_id,
29        "signMethod": sign_method,
30        "signNonce": sign_nonce,
31        "timestamp": timestamp,
32        "signature": signature
33    }
34    return param
35
36
37def get_signature(client_id, client_secret, business, sign_method, sign_nonce, timestamp):
38    raw_str = f"{client_id}_{business}_{sign_method}_{sign_nonce}_{timestamp}_{client_secret}"
39    utf8_bytes = raw_str.encode("utf-8")
40    # 根据sign_method选择不同的摘要算法
41    if sign_method.lower() == "sha256":
42        digest = hashlib.sha256(utf8_bytes).hexdigest()
43    elif sign_method.lower() == "sha1":
44        digest = hashlib.sha1(utf8_bytes).hexdigest()
45    elif sign_method.lower() == "md5":
46        digest = hashlib.md5(utf8_bytes).hexdigest()
47    elif sign_method.lower() in ["sha3-256", "sha3_256"]:
48        digest = hashlib.sha3_256(utf8_bytes).hexdigest()
49    else:
50        raise ValueError("Unsupported sign method")
51    # 将摘要转换为小写十六进制字符串
52    sign = digest.lower()
53    return sign
54
55
56def main():
57    client_id = "******"
58    client_secret = "******"
59    http_client = get_http_client()
60    param = create_demo_param(client_id, client_secret)
61    req_id = uuid.uuid4().hex
62    url = "https://scan-business.quark.cn/vision"
63    headers = {
64        "Content-Type": "application/json",
65    }
66    response = http_client.post(url, json=param, headers=headers)
67    if response.status_code == 200:
68        body = response.json()
69        code = body.get("code")
70        print(body)
71        print("ocr request result:", code)
72    else:
73        print("http request error")
74
75
76if __name__ == "__main__":
77    main()

图片格式要求

为了确保图片OCR识别质量,会对图片格式、尺寸、大小做限制:

  • 目前支持的格式为:PNG、JPG、JPEG、BMP、GIF、TIFF、WebP,建议使用JPG/JPEG格式;
  • 图片长宽需要大于15像素、小于8192像素,长宽比需要小于50;
  • 图片二进制文件不能超过10MB,建议使用1.5MB的图片进行识别;

结果说明

数据结构

JSON复制代码
1{
2  "ImageInfo": [
3    {
4      "Angle": 0,
5      "Height": 3071,
6      "Width": 1315,
7      "ImageBase64": "/9j/4AAQSkZJR..."
8    }
9  ]
10}

字段说明

文字结果

结果示例

JSON复制代码
1{
2  "ImageInfo": [
3    {
4      "Angle": 0,
5      "Height": 3071,
6      "Width": 1315,
7      "ImageBase64": "/9j/4AAQSkZJR..."
8    }
9  ]
10}

返回码说明

签名机制

以下示例以签名算法SHA3-256为例,其它签名算法需要做相应替换

对 clientId、business、signMethod、signNonce、timestamp、clientSecret 几个字段按顺序以下划线的方式拼接,其中business固定设置为vision,以上述示例的参数得到如下待签名字符串:

TEXT复制代码
1test_vision_SHA3-256_091e00880df24ca0965f9416931b253c_1694152918888_6zGXp1QZ6GcLWoEn

通过 SHA3-256 算法计算上述待签名字符串,具体步骤如下:

  • 获取待签名字符串的 UTF8 编码格式字节数组;
  • 对字节数组进行 SHA3-256 算法计算得到签名字节数组;
  • 对 SHA3-256 算法计算得到的数组,进行16进制编码,并转成小写格式,得到签名字符串

上述字符串得到的结果为:

TEXT复制代码
1db17c4fd487874621a151ad3aed8d189d91042847fbf832994a4b54159c96d6b