LogoEasyDoc 开发者文档
快速上手

使用 REST API

EasyDoc REST API 提供高效的文档解析功能,助力开发者将非结构化文档转化为适合LLM应用的结构化数据。使用 API 需完成以下两步:

  1. 发起解析任务:通过 POST /v1/easydoc/parse 上传文档,创建解析任务。
  2. 查询任务状态与结果:通过 GET /v1/easydoc/parse/{task_id} 获取任务状态及解析结果。

以下为两个接口的详细说明,包含请求格式、响应结构、示例代码及错误处理,协助开发者快速集成。

1. 发起解析任务

1.1 请求说明

  • 方法POST
  • 路径https://api.easylink-ai.com/v1/easydoc/parse
  • 头部
    • api-key: 您的 API 密钥,用于身份验证。
  • 请求体multipart/form-data):
    • files: 待解析文档(支持多文件上传),支持格式:
      • .pdf, .txt, .doc, .docx, .ppt, .pptx
      • 最大文件大小:100 MB
    • mode: 解析模式,可选值:
      • lite: 快速解析,提取布局块和文本。
      • pro: 深度解析,合并跨页/跨栏块,构建章节层次。
      • premium: 高级解析,包含图表和表格深度理解。

1.2 示例代码


import requests

url = "https://api.easylink-ai.com/v1/easydoc/parse"
headers = {
  "api-key": "<your-api-key>"
}

files = [
  ("files", open("<your-parse-file-path1>", "rb")),
  ("files", open("<your-parse-file-path2>", "rb"))  # 可以传单个,或多个文件
]

data = {
  "mode": "lite"
}

response = requests.post(url, headers=headers, files=files, data=data)

print(response.status_code)
print(response.json())

1.3 响应说明

  • 成功响应

    {
      "data": {
        "task_id": "b_parse_81d006e2-9295-4752-9033-9a37f24bc11d1748171169254"
      },
      "success": true
    }

2. 查询任务状态与结果

2.1 请求说明

  • 方法GET
  • 路径https://api.easylink-ai.com/v1/easydoc/parse/{task_id}
  • 头部
    • api-key: 您的 API 密钥。
  • 路径参数
    • task_id: 发起任务时返回的任务 ID。

2.2 示例代码


import requests

task_id = "<your-task-id>"
url = f"https://api.easylink-ai.com/v1/easydoc/parse/{task_id}"
headers = {
  "api-key": "<your-api-key>"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

2.3 响应说明

  • 执行中

    {
      "data": {
        "status": "PROCESSING",
        "task_id": "b_parse_26a9136f-2460-40bd-9923-ddb880131f311748176033858"
      },
      "success": true
    }
  • 执行完成

数据(data)

属性名称类型描述示例值
task_idstring任务ID"b_parse_64865612-3f4d-40b8-ad77-84e113fe4d762748018323281"
resultsobject任务结果{ "file_name": "original.pdf", "nodes": [...] }
statusstring任务状态(SUCCESS: 成功, ERROR: 失败, PENDING: 待处理, PROCESSING: 正在处理)"SUCCESS"

任务结果(results)

属性名称类型描述示例值
file_namestring文件名"original.pdf"
nodesarray节点信息[ { "id": 1, "text": "证券代码:000001...", ...}, ... ]
markdownstringmarkdown数据流(当前限premium)"# 北京同仁堂股份有限"

节点信息(nodes)

属性名称类型描述示例值
idinteger节点ID,文档由虚拟节点-1,节点以树的形式展开,从1开始计(可选值为-1、正整数)1
textstring文本内容"证券代码:0000001 证券简称:xxxxx 公告编号:2025-001"
typestring节点类型(Title: 标题, Text: 文本, Table: 表格, Figure: 图形)"Text"
relationstring关系(固定值:part_of)"part_of"
path_infoarray反应节点与节点的关系{"path": [], path_context: ""}
parent_idinteger父节点ID-1
composing_blocksarray区域组成[{ "system": "PixelSpace", "coordinates": [...], "page_number": 1, ...}]
captionstring表格或图片的标题关于A股走势图
notestring表格或图片的尾注关于A股变化趋势....
vlm_understandingobject大模型对图表的理解返回有对象、字符串、null值

区域组成(composing_blocks)

属性名称类型描述示例值
systemstring系统标识"PixelSpace"
coordinatesarray坐标信息(前两项为左上角坐标,后两项为右下角坐标)[442.5559692382813, 372.9184875488281, 2529.80908203125, 578.7843627929688]
page_numberinteger所在页码数1
layout_widthinteger所在页的宽度2977
layout_heightinteger所在页的高度4335

成功状态(success)

属性名称类型描述示例值
successboolean是否成功true

On this page