---
title: "纯 OCR"
description: "检测并识别商品图片中的文字。返回带有多边形、外接矩形、文字内容与置信度的区域 — 不修复图像,不翻译,不渲染。"
---

## 接口

```
POST /v1/image-translate/ocr
```

只执行[完整流水线](./translate)中的 OCR 步骤。返回带几何信息和置信度的识别区域。图像不会被修改,不会进行翻译,也不会生成最终图。当你只需要文字坐标和内容时使用 — 例如对图片做预筛选,或驱动自定义后续流程。

单次调用比 `/translate` 更便宜。

## 请求格式

接口仅接受 HTTP body 中的**原始图片字节**。不接受 JSON + base64。

| 头部 | 必填 | 说明 |
|---|---|---|
| `Content-Type` | 是 | `image/jpeg`、`image/png`、`image/webp` 或 `application/octet-stream` |
| `x-api-key` | 是 | API 密钥 |

其余参数全部通过**查询字符串**传递:

| 参数 | 类型 | 必填 | 默认 | 说明 |
|-----|------|------|-----|------|
| `source_language` | string | 是 | — | 取自 `ch`、`zh`、`zh-CN`、`zh-TW`、`chinese_cht`、`ja`、`japan`、`en`、`auto`。 |

## 响应

```json
{
  "success": true,
  "requestId": "550e8400e29b41d4a716446655440000",
  "data": {
    "regions": [
      {
        "polygon": [[10, 20], [210, 20], [210, 60], [10, 60]],
        "bbox": { "x": 10, "y": 20, "w": 200, "h": 40 },
        "text": "免费送货",
        "confidence": 0.98
      }
    ],
    "src_w": 790,
    "src_h": 1158,
    "regions_found": 1
  }
}
```

| 字段 | 类型 | 说明 |
|-------|------|-----|
| `regions[].polygon` | number[][] | 原图坐标系下的 4 点多边形 |
| `regions[].bbox` | object | 原图坐标系下的轴对齐外接矩形 `{x, y, w, h}` |
| `regions[].text` | string | 识别出的文字 |
| `regions[].confidence` | number | 识别置信度,0–1 |
| `src_w`, `src_h` | integer | 原图宽高(像素) |
| `regions_found` | integer | 返回的区域数 |

## 示例

### cURL

```bash
curl -X POST "https://gateway.apinoa.com/v1/image-translate/ocr?source_language=zh-CN" \
  -H "x-api-key: $APINOA_API_KEY" \
  -H "Content-Type: image/jpeg" \
  --data-binary @product.jpg
```

### Python

```python
import requests

with open("product.jpg", "rb") as f:
    img_bytes = f.read()

r = requests.post(
    "https://gateway.apinoa.com/v1/image-translate/ocr",
    headers={
        "x-api-key": "YOUR_API_KEY",
        "Content-Type": "image/jpeg",
    },
    params={"source_language": "zh-CN"},
    data=img_bytes,
    timeout=60,
)
r.raise_for_status()
for region in r.json()["data"]["regions"]:
    print(region["text"], region["confidence"])
```

## 限制

| 项目 | 值 |
|-------|-------|
| 最大尺寸 | 8192 × 8192 px |
| 最大请求体 | 20 MB |
| 图片格式 | JPEG、PNG、WebP |

## 错误

| 代码 | HTTP | 触发条件 |
|------|------|------|
| `BAD_REQUEST` | 400 | 空 body 或参数无效 |
| `UNAUTHORIZED` | 401 | API key 缺失或无效 |
| `UNSUPPORTED_MEDIA_TYPE` | 415 | `Content-Type` 不是二进制图片类型 |
| `PAYLOAD_TOO_LARGE` | 413 | body > 20 MB |
| `INSUFFICIENT_BALANCE` | 402 | 余额不足以支付本次调用 |
| `UPSTREAM_ERROR` | 502 | 识别服务临时不可用 |

## 价格

每次调用按[价格页面](/pricing)上的 image-translate 费率从您的余额中扣除。

<ApiTester endpoint="/v1/image-translate/ocr" method="POST" description="使用您的 API 密钥测试此端点" />
