开放平台
通用文档

通用文档

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

接口说明

通用文字识别使用最新的AI技术,突破传统OCR能力,以极高的准确率识别各种场景的文字,并且用更先进的智能理解提供结构化的识别结果,支持印刷、手写、表格、多语言、公式等各种场景。该服务属于通用场景服务,以通用的结构化结果返回,适用于公司各类办公文档、pdf或者纸质文档拍照识别,教育场景的试卷、作业、题目识别,电商场景商品图片识别,医疗场景各类报告单识别等。

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": "ocr",
25        "inputConfigs": "{\"function_option\":\"RecognizeGeneralDocument\"}",
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    "OcrInfo": [
3        {
4            "Text": "...",
5            "Detail": [
6                {
7                    "Type": "",
8                    "Value": "",
9                    "Confidence": 1,
10                    "InGraph": false,
11                    "ColumnIndex": -1,
12                    "RowIndex": -1,
13                    "ColumnSpan": -1,
14                    "RowSpan": -1
15                }
16            ]
17        }
18    ]
19}

字段说明

文字结果

结果示例

JSON复制代码
1{
2  "OcrInfo": [
3    {
4      "Text": "青玉案元夕一辛弃疾东风夜放花千树,更吹落星如雨。宝马雕车香满路,凤箫声动,玉壶光转,一夜鱼龙舞。",
5      "Detail": [
6        {
7          "Type": "PrintedText",
8          "Value": "青玉案元夕一辛弃疾",
9          "Confidence": 1,
10          "InGraph": false,
11          "ColumnIndex": 0,
12          "RowIndex": 0,
13          "ColumnSpan": 0,
14          "RowSpan": 0
15        },
16        {
17          "Type": "PrintedText",
18          "Value": "东风夜放花千树,更吹落星如雨。宝马雕车香满路,",
19          "Confidence": 1,
20          "InGraph": false
21        },
22        {
23          "Type": "WrittenText",
24          "Value": "凤箫声动,玉壶光转,一夜鱼龙舞。",
25          "Confidence": 1,
26          "InGraph": false
27        },
28        {
29          "Value": "ADasfwefds...",
30          "Type": "Illustration",
31          "Confidence": 1
32        }
33      ]
34    }
35  ]
36}

返回码说明

签名机制

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

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

TEXT复制代码
1[your_client_id]_vision_SHA3-256_091e00880df24ca0965f9416931b253c_1694152918888_[your_client_secret]

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

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

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

TEXT复制代码
1db17c4fd487874621a151ad3aed8d189d91042847fbf832994a4b54159c96d6b