Skip to content

Doc2X API v2 图片接口文档

基础信息

URL: https://v2.doc2x.noedgeai.com

请直连访问 API 接口,中国内地以外地区可能有较大网络波动,导致上传文件断流严重

目前默认并发 30 张/30s,暂时不支持扩大并发量,如需大规模处理图片请转成 pdf 处理(如果图片长宽比一致请转化成多页 PDF 来加快处理吞吐量)

Authorization 鉴权

首先需要获取到 API Key(类似于 sk-xxx)

在 HTTP 请求头加入:

bash
Authorization: Bearer sk-xxx

POST /api/v2/parse/img/layout 图片 layout

含布局识别的图片 OCR 接口,效果和 /parse/pdf 一致,支持文字,公式,多栏,表格,图片的解析和提取(主要适用于文档图片和类文档图片)

此接口为同步调用接口

要求图片大小 <= 7M

计价方式:1 张图片 = 1 页 PDF 解析(1:1),会同等消耗 PDF 解析页数

请求参数

名称位置类型必选说明
bodybodybinary请求体为 img(jpg/png) 的二进制,最大不超过 7M

请求示例

bash
curl -X POST 'https://v2.doc2x.noedgeai.com/api/v2/parse/img/layout' \
--header 'Authorization: Bearer sk-xxx' \
--data-binary '@test.jpg'

注意,--data-binary 并不是 formdata,而是以二进制形式写入 body 中,python 代码如下:

python
import requests

url = 'https://v2.doc2x.noedgeai.com/api/v2/parse/img/layout'
headers = {'Authorization': 'Bearer sk-xxx'}

with open('test.jpg', 'rb') as file:
    response = requests.post(url, headers=headers, data=file) # 使用data

print(response.text)

返回示例

json
{
  "code": "success",
  "data": {
    "convert_zip": null, // 如果传入的图片中含有图示内容
    // convert_zip里面是 包含页面内所有图片文件夹的zip包的base64
    "result": {
      "pages": [
        {
          "page_width": 1000,
          "page_height": 1000,
          "md": "123456789" // 提取后的整页的md
        }
      ]
    },
    "uid": "01940000-0000-0000-0000-111111111"
  }
}

convert_zip 解压后的文件结构

text
.
|--images # 图片资源文件
    |--example1.jpg
    |--example2.jpg

POST /api/v2/async/parse/img/layout 异步图片 layout 提交任务

含布局识别的图片 OCR 接口,效果和 /parse/pdf 一致,支持文字,公式,多栏,表格,图片的解析和提取(主要适用于文档图片和类文档图片)

此接口为异步调用接口

要求图片大小 <= 7M

计价方式:1 张图片 = 1 页 PDF 解析(1:1),会同等消耗 PDF 解析页数

异步图片请求参数

名称位置类型必选说明
bodybodybinary请求体为 img(jpg/png) 的二进制,最大不超过 7M

异步图片请求示例

bash
curl -X POST 'https://v2.doc2x.noedgeai.com/api/v2/async/parse/img/layout' \
--header 'Authorization: Bearer sk-xxx' \
--data-binary '@test.jpg'

注意,--data-binary 并不是 formdata,而是以二进制形式写入 body 中,python 代码如下:

python
import requests

url = 'https://v2.doc2x.noedgeai.com/api/v2/async/parse/img/layout'
headers = {'Authorization': 'Bearer sk-xxx'}

with open('test.jpg', 'rb') as file:
    response = requests.post(url, headers=headers, data=file) # 使用data

print(response.text)

异步图片返回示例

json
{
  "code": "success",
  "data": {
    "uid": "01940000-0000-0000-0000-111111111"
  }
}

GET /api/v2/parse/img/layout/status 异步图片 layout 处理状态

异步图片处理状态请求参数

请求头

名称描述示例值
AuthorizationApi keyBearer sk-usui9lodl89p7r51suvo0awdawd

请求体

名称位置类型必选说明
uidquerystring异步任务的 id

异步图片处理状态请求示例

bash
curl --request GET 'https://v2.doc2x.noedgeai.com/api/v2/parse/img/layout/status?uid=01920000-0000-0000-0000-000000000000' \
--header 'Authorization: Bearer sk-xxx'

异步图片处理状态返回示例

处理完成的情况

json
{
  "code": "success",
  "data": {
    "status": "success",
    "result": {
      "pages": [
        {
          "url": "01952205-b26f-7930-93c1-103c88156729_0.jpg",
          "page_idx": 0,
          "page_width": 1080,
          "page_height": 4322,
          "md": "<!-- Media -->\n\n<img src=\"01952205-b26f-7930-93c1-103c88156729_0_0_59_1080_4221_0.jpg\"/>\n\n<!-- Media -->"
        }
      ]
    },
    "convert_zip": "EpwBCiowMTk1MjIwNS1iMjZmLTc5MzAtOTNjMS0xMDNjODgxNTY3MjlfMC5qcGcYuAgg4iEqaDwhLS0gTWVkaWEgLS0+Cgo8aW1nIHNyYz0iMDE5NTIyMDUtYjI2Zi03OTMwLTkzYzEtMTAzYzg4MTU2NzI5XzBfMF81OV8xMDgwXzQyMjFfMC5qcGciLz4KCjwhLS0gTWVkaWEgLS0+"
  }
}

失败的情况

json
{
  "code": "parse_error",
  "msg": "解析错误"
}

等待的情况

json
{
  "code": "success",
  "data": {
    "status": "processing"
  }
}

异步任务 convert_zip 解压后的文件结构

text
.
|--images # 图片资源文件
    |--example1.jpg
    |--example2.jpg