TensorFusion Docs

OCR 文字识别

POST /v1/recognize 图片/PDF 文字识别,multipart 上传,支持多 OCR provider。

无界模型云提供 OCR 文字识别能力:上传图片或 PDF,返回结构化的识别文本与版面块(blocks)。接口形态为 multipart/form-data 上传,后端可路由到多个 OCR 号源。

私有化部署 API 完全一致,仅需替换 Base 域名 → 企业私有化部署

概览

  • 接口POST https://ai.tos.run/v1/recognizemultipart/form-data
  • OCR providerpaddleocrvolcengine(火山)、aliyun(阿里)。具体启用哪个号源、默认号源以控制台为准。

鉴权与 Base

  • Host:OCR 在 master host https://ai.tos.run 上提供——数据面 api.tos.run 没有对应的 OCR 路径,curl / SDK 直接打到 ai.tos.run
  • 鉴权头:Authorization: Bearer $TOS_API_KEY,Key 以 gk_ 开头。
  • scope:需要 ai:ocr(创建 Key 时勾选;ai:* 通配亦可)。

详见 鉴权

字段

字段类型必填说明
imagefile待识别的图片或 PDF 文件
scenestring识别场景,默认 general;可选 general / document / receipt / idcard
languagestring识别语言,默认 zh-CN
formatstring文件格式,不传时由文件名后缀 / MIME 推断
  • 支持格式png / jpgjpeg 会规整为 jpg)/ webp / bmp / pdf
  • 图片上限 50MB,超过会返回 400。

请求示例

curl "https://ai.tos.run/v1/recognize" \
  -H "Authorization: Bearer $TOS_API_KEY" \
  -F "image=@invoice.png" \
  -F "scene=document" \
  -F "language=zh-CN"
import os
import requests

with open("invoice.png", "rb") as f:
    resp = requests.post(
        "https://ai.tos.run/v1/recognize",
        headers={"Authorization": f"Bearer {os.environ['TOS_API_KEY']}"},
        data={"scene": "document", "language": "zh-CN"},
        files={"image": ("invoice.png", f, "image/png")},
        timeout=120,
    )
resp.raise_for_status()
data = resp.json()
print(data["text"])
import fs from "node:fs";

const form = new FormData();
form.set("scene", "document");
form.set("language", "zh-CN");
form.append("image", new Blob([fs.readFileSync("invoice.png")]), "invoice.png");

const resp = await fetch("https://ai.tos.run/v1/recognize", {
  method: "POST",
  headers: { "Authorization": `Bearer ${process.env.TOS_API_KEY}` },
  body: form,
});
const data = await resp.json();
console.log(data.text);

响应

返回 JSON:text 是拼接好的整页文本,blocks 是带坐标的版面块;多页文档(如 PDF)会给出 page_count 与逐页结果 pages

{
  "text": "发票代码:031001900111\n金额合计:¥1,280.00",
  "blocks": [
    { "text": "发票代码:031001900111", "box": [10, 12, 220, 40], "score": 0.99 }
  ],
  "page_count": 1,
  "pages": [
    { "text": "...", "blocks": [] }
  ]
}

不同 OCR 号源返回的 blocks 坐标精度、score 字段可能略有差异;如对版面坐标有严格要求,建议固定使用同一号源并在控制台核对。

错误处理

  • 400:参数错误、文件为空、格式不支持、超过 50MB,或图片无法识别(invalid_image)。
  • 429:触发限流,响应头可能带 retry-after
  • 502 / 504:上游 OCR 号源错误或超时。

相关页面

目录