OCR文字识别助手

开放 API 接口开发指南

获取 API 额度

欢迎使用 OCR文字识别助手 开放平台!
我们提供稳定、高速、开箱即用的文字提取及表格识别服务。

1. 全局鉴权机制 (Auth)

所有接口请求必须在 URL 中带上以下鉴权参数:

参数名 必填 说明
app 固定值 api
token 您可以在 个人中心 获取专属 Token
2. 识别核心接口 (op = code)

请求 URL: /Code.ashx?op=code&app=api&token=YOUR_TOKEN&type=0

调用方式: POST

参数统一拼在 URL 中,图像数据通过 POST body 传递(支持 multipart 文件流、表单字段或纯文本)。

2.1 输入待识别图像 (三选一)

参数名 类型 说明
(文件) File 标准的 multipart 上传文件流。
url String 图片的公网可访问直链地址。
code String 图片的 Base64 字符串(无需包含头部格式声明)。

2.2 核心模式与引擎控制

参数名 必填 说明
type 识别模式:
0: 文本识别 (默认)
1: 竖排识别
2: 表格识别
3: 公式识别 (如 MathPix)

2.3 格式化与排版规则 (可选)

以下参数传值 1 开启对应处理,值 0 不开启。
若无特定需求,建议不传,留给系统决断:

参数名 必填 说明
left 1 强制从左到右排序拼接。
top 1 强制从上到下排序。
autodirection 1 自动判断图像朝向并旋转摆正。
half 1 自动全角标点转常规半角。
space 1 自动处理英文与中日韩文字间的字词空格。
symbol 1 自动矫正怪异的标点符号。
duplicate 1 自动去重复连字符。

2.4 返回值说明 (JSON)

识别接口返回标准 JSON 格式。值为 null 的字段会自动省略。

顶层字段

字段 类型 说明
id String 本次请求的唯一批次 ID(UUID 格式),可用于异步查询结果。
ocrType Int 识别类型,与请求参数 type 对应。
processId Int 处理该请求的引擎节点 ID。
processName String 处理引擎名称。为空时表示识别超时或未分配到节点。
state Int 处理状态码(见下方枚举表)。
message String 附加消息/错误说明,仅在特殊情况下返回。
result Object 核心识别结果对象(详见下方子字段表格)。
desc String 引擎附加的补充描述信息(如有)。

result 子对象 — 文本结果

字段 类型 说明
autoText String 推荐使用。经过智能段落合并、排版优化后的完整文本。
spiltText String 按原始段落分割的文本(段间以 \t 缩进 + \n 换行分隔)。表格模式下为 JSON 行列数据。
transText String 翻译结果文本(仅在 type=翻译 模式下返回,结构与 spiltText 对应)。
lang String 引擎自动检测到的图片语种标识(如 chi_sim, eng, jpn)。
resultType Int 结果格式类型。0=纯文本, 1=网页(含公式渲染), 2=表格。

result 子对象 — 坐标定位数据 🗺️

以下字段包含每个文本块在原图上的精确位置,适用于需要做高亮叠加、区域提取等场景。

字段 类型 说明
spiltLocText String 带坐标信息的原始分段文本(经智能段落合并后的结果,含位置信息)。
transLocText String 带坐标信息的翻译分段文本。
verticalText String (JSON) ⭐ 完整的文本块坐标数组的 JSON 字符串。每个元素为一个 TextCellInfo 对象(见下方结构)。

verticalText 中的 TextCellInfo 对象结构

[
  {
    "words": "识别出的文字内容",
    "trans": "翻译结果(如有)",
    "pageIndex": 0,
    "location": {
      "left": 120.0,
      "top": 45.0,
      "width": 230.0,
      "height": 28.0
    }
  },
  ...
]
字段 类型 说明
words String 该文本块识别出的文字。
trans String 翻译结果(仅翻译模式下有值)。
pageIndex Int 所属页码索引(多页文档场景下有效,从0开始)。
location.left Double 文本块左上角 X 坐标(像素)。
location.top Double 文本块左上角 Y 坐标(像素)。
location.width Double 文本块宽度(像素)。
location.height Double 文本块高度(像素)。

result 子对象 — 文件下载

字段 类型 说明
viewUrl String resultType=1 (网页/公式) 时,返回的在线预览页地址。
downloadHtml String 包含下载链接的 HTML 片段。
files Array 可供下载的结果文件列表,每项为 DownLoadInfo 对象(见下方结构)。

files 中的 DownLoadInfo 对象结构

字段 类型 说明
url String 文件下载地址。
param String 下载所需的附加参数。
fileType Int 文件类型枚举:1=PDF, 2=Word, 3=PPT, 4=Excel, 5=TXT, 6=Markdown
desc String 文件描述说明。

state 状态枚举

含义 说明
0 待处理 请求已收到,尚未分配引擎。
2 处理成功 正常返回识别结果。
3 处理失败 引擎处理异常,可重试。
4 处理超时 引擎未在有效期内返回。
6 并发限制 当前并发请求过多,请降低频率。
7 类型不支持 不支持当前识别类型或文件格式。

返回示例

✅ 成功响应(含坐标数据):

{
  "ocrType": 0,
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "processId": 3,
  "processName": "OCR-Node-01",
  "state": 2,
  "result": {
    "autoText": "智能合并后的完整文本",
    "spiltText": "按段落分割的原始文本",
    "verticalText": "[{\"words\":\"你好\",\"location\":{\"left\":10,\"top\":20,\"width\":80,\"height\":22}}]",
    "resultType": 0,
    "lang": "chi_sim"
  }
}

❌ 错误/限额响应:

{
  "ocrType": 0,
  "processName": "温馨提示",
  "result": {
    "spiltText": "今日API额度已用尽,请充值后继续使用!",
    "autoText": "今日API额度已用尽,请充值后继续使用!"
  },
  "id": 1
}
3. 异步结果查询 (op = idcode)

请求 URL: /Code.ashx?op=idcode&app=api&token=YOUR_TOKEN

调用方式: POST

功能: 根据识别接口返回的 id 查询异步处理结果。当识别接口返回 state=0(待处理)时,可使用此接口轮询获取最终结果。

参数名 必填 类型 说明
id String 识别接口返回的批次请求 ID,通过 POST body 传递。

返回示例

✅ 成功响应:

[
  {
    "ocrType": 0,
    "id": "a1b2c3d4-...",
    "processName": "OCR-Node-01",
    "state": 2,
    "result": {
      "autoText": "识别结果文本",
      "spiltText": "分段文本",
      "resultType": 0
    }
  }
]

❌ 失败响应(ID 不存在或结果已过期):

no

返回纯文本 no 表示未找到该 ID 对应的结果,可能是 ID 错误或结果已过期被清除。

4. 图片上传图床 (op = imgUpload)

请求 URL: /Code.ashx?op=imgUpload&app=api&token=YOUR_TOKEN

调用方式: POST (multipart/form-data)

功能: 上传一张图片到免费图床,返回可公网访问的直链 URL。适用于需要先上传图片、再用 URL 调用识别接口的场景。

参数名 必填 类型 说明
(文件) File 以 multipart 方式上传的图片文件。

返回示例

✅ 成功响应:

https://cdn.example.com/uploads/abc123.jpg

❌ 失败响应(未上传文件或上传异常):

no

返回纯文本 no 表示未接收到文件或上传过程中发生异常。

5. 余额查询接口 (API 额度)

请求 URL: /Code.aspx?op=count&app=api&token=YOUR_TOKEN

调用方式: GET

通过该接口可查看 Token 今日已用的次数、以及剩余次数配额。

返回示例

✅ 成功响应:

{
  "Account": "api",
  "TodayCount": 52,        // 今日已用次数
  "LimitCount": 9948       // 当前总剩余次数
}

❌ 失败响应(Token 无效或未传):

{
  "Account": "api",
  "TodayCount": 0,
  "LimitCount": 0
}

注意:Token 无效时不会报错,而是返回数值全为 0 的 JSON,请根据 LimitCount 是否为 0 来判断 Token 有效性。

💻 在线调试 & 接入代码
// 等待发送请求...
📋 快速接入代码 (跟随上方选项自动生成)
Code Snippet
// 选择接口与参数后自动生成...
OCR助手QQ在线客服
QQ客服(365833440)
OCR助手QQ用户交流群
QQ群(100029010)
OCR助手邮件联系客服
邮箱:net10010@qq.com

感谢您的意见和建议!