[AI62-1] PDF 翻译-提交翻译任务

post
https://stage-connect.zhihuiya.com/pdf-translation/translate
在体验中心中试用

通过 pdf 上传 PDF 文件,或通过 pdf_url 提供 PDF 下载链接(支持签名链接),两者必须且只能提供一个。output_format=pdf 输出保留版面的译文 PDF(默认),output_format=markdown 输出 Markdown 文本文件(.md)。任务接受后返回 HTTP 202。通过 status_url 查询状态;state 为 succeeded 后,访问 download_file 指向的结果接口获取所选格式的译文。 输入示例(文件上传,multipart/form-data): ```bash curl -X POST 'http://s-patsnaprd-pdf-translation-api.patsnaprd/translate' \ -H 'accept: application/json' \ -F 'pdf=@/path/to/sample.pdf;type=application/pdf' \ -F 'source_lang=zh' \ -F 'target_lang=en' \ -F 'pages=1' \ -F 'model_id=9' \ -F 'output_format=pdf' ``` 输入示例(PDF 链接,multipart/form-data): ```bash curl -X POST 'http://s-patsnaprd-pdf-translation-api.patsnaprd/translate' \ -H 'accept: application/json' \ -F 'pdf_url=https://storage.example.com/sample.pdf?signature=EXAMPLE' \ -F 'source_lang=zh' \ -F 'target_lang=en' \ -F 'pages=1' \ -F 'model_id=9' \ -F 'output_format=pdf' ``` 如需 Markdown 输出,将 output_format 改为 markdown;翻译全部页面时省略 pages。使用 pdf_url 时不传 pdf 字段。curl 使用 -F 自动生成带 boundary 的 multipart/form-data 请求头,无需手动设置 Content-Type。 成功响应示例(HTTP 202): ```json { "task_id": "0123456789abcdef0123456789abcdef", "taskId": "0123456789abcdef0123456789abcdef", "job_id": "0123456789abcdef0123456789abcdef", "state": "pending", "source_lang": "zh", "target_lang": "en", "lang": "zh2en", "model_id": "9", "output_format": "pdf", "total_pages": 2, "selected_pages": [ 1 ], "selected_page_count": 1, "skipped_pages": [ 2 ], "skipped_page_count": 1, "status_url": "http://s-patsnaprd-pdf-translation-api.patsnaprd/tasks/0123456789abcdef0123456789abcdef", "download_file": "http://s-patsnaprd-pdf-translation-api.patsnaprd/tasks/0123456789abcdef0123456789abcdef/result", "message": "任务已提交。请轮询 status_url,成功后访问 download_file 获取结果:PDF。" } ```

请求参数

此 API 接口支持的参数列表

名称类型示例描述
model_id
string9
布局模型:9 快速默认模式;25 更高精度模式。 示例:"9"
output_format
stringpdf
输出格式:pdf(默认)生成保留版面的译文 PDF;markdown 生成 Markdown 文本文件(.md)。两种格式均支持通过 pages 选页,按选中翻译的去重页数计量,采用相同的异步提交、状态查询和结果获取流程。结果接口传 response_format=url 获取签名链接,传 response_format=file 直接下载文件。 示例:"pdf"

响应结构

API 响应数据的结构说明

字段名类型示例描述
lang
stringzh2en
翻译方向。 示例:"zh2en"
state
必填
stringpending
任务已接受并等待处理,值为 pending。 示例:"pending"
job_id
string0123456789abcdef0123456789abcdef
task_id 的兼容别名。 示例:"0123456789abcdef0123456789abcdef"
taskId
string0123456789abcdef0123456789abcdef
task_id 的兼容别名。 示例:"0123456789abcdef0123456789abcdef"
message
string任务已提交。请轮询 status_url,成功后访问 download_file 获取结果:PDF。
当前阶段说明。 示例:"任务已提交。请轮询 status_url,成功后访问 download_file 获取结果:PDF。"
task_id
必填
string0123456789abcdef0123456789abcdef
任务 ID。 示例:"0123456789abcdef0123456789abcdef"
model_id
必填
string9
布局模型:9 快速模式,25 精准模式。 示例:"9"
status_url
必填
string<uri>http://s-patsnaprd-pdf-translation-api.patsnaprd/tasks/0123456789abcdef0123456789abcdef
任务状态查询地址。 示例:"http://s-patsnaprd-pdf-translation-api.patsnaprd/tasks/0123456789abcdef0123456789abcdef"
source_lang
stringzh
源语言。 示例:"zh"
target_lang
stringen
目标语言,不能与源语言相同。 示例:"en"
total_pages
必填
integer<int32>2
输入 PDF 的总页数,不是选中页数,也不是译文文件的页数。仅翻译整份 PDF 时,首次完全成功取结果的 X-Openapi-Amount 才等于该值。 示例:2
download_file
必填
string<uri>http://s-patsnaprd-pdf-translation-api.patsnaprd/tasks/0123456789abcdef0123456789abcdef/result
结果接口地址,本身不是 PDF 或 Markdown 签名链接。任务完成后以 response_format=url 访问该接口,响应 JSON 的 download_file 才是 PDF 或 Markdown 签名下载链接,有效期一周(7 天,604800 秒)。 示例:"http://s-patsnaprd-pdf-translation-api.patsnaprd/tasks/0123456789abcdef0123456789abcdef/result"
output_format
必填
stringpdf
输出文件格式。 示例:"pdf"
skipped_pages
array[ 2 ]
未选择的页面;PDF 输出中原样保留。 示例:[2]
selected_pages
array[ 1 ]
选中翻译的页码,从 1 开始。 示例:[1]
skipped_page_count
integer1
未选择的页数。 示例:1
selected_page_count
integer1
选中翻译的去重页数,作为首次完全成功获取结果的计量值;pages 为空或未传时等于 total_pages。 示例:1

成功响应示例

成功调用 API 的响应示例

JSON
{
  "lang": "zh2en",
  "state": "pending",
  "job_id": "0123456789abcdef0123456789abcdef",
  "status": true,
  "taskId": "0123456789abcdef0123456789abcdef",
  "message": "任务已提交。请轮询 status_url,成功后访问 download_file 获取结果:PDF。",
  "task_id": "0123456789abcdef0123456789abcdef",
  "model_id": "9",
  "error_code": 0,
  "status_url": "http://s-patsnaprd-pdf-translation-api.patsnaprd/tasks/0123456789abcdef0123456789abcdef",
  "source_lang": "zh",
  "target_lang": "en",
  "total_pages": 2,
  "download_file": "http://s-patsnaprd-pdf-translation-api.patsnaprd/tasks/0123456789abcdef0123456789abcdef/result",
  "output_format": "pdf",
  "skipped_pages": [
    2
  ],
  "selected_pages": [
    1
  ],
  "skipped_page_count": 1,
  "selected_page_count": 1
}

错误码

此接口可能返回的错误码列表

业务错误码

错误码描述
68300004请求参数异常!
68300005查询Api失败!
68300006解析基本存取错误!
68300007存在错误的请求!
68300008服务中断异常,请稍后再试!
68300010文件不符合上传规范!

平台错误码

错误码描述
67200000API整体限流错误!
67200001API整体限流错误!
67200002当前调用速率过快,超过当前配置限制QPS!
67200003申请token的key和secret传参不正确或者客户端已被禁用!
67200004请求的接口无权限请联系我们的支持人员!
67200005账户余额/调用次数不足!
67200006客户端超过开通有效期!
67200007当前调用超过当天配置使用额度!
67200008请检查query参数中必填的apikey是否传输!
67200009apikey与所传的bearerToken不匹配,请检查是否使用在有效期内的token!
67200012请求不合法!
67200100当前服务器状态正忙,请求响应超时!
67200101当前请求的Api不存在请检查请求Path!

HTTP 状态码

状态码描述
0请求成功
202任务已接受;提交基础计量默认 1。
400文件为空、不是有效 PDF、损坏或无法读取。
413超过 output_format 对应的文件大小或整份 PDF 页数限制。
422参数校验失败:输入未二选一、语言不支持或相同、页码无效等。
502远程 PDF 下载失败。
503服务暂时不可用,请稍后重试。
504远程 PDF 下载超时。

性能指标

此接口的预期性能特征

正常响应时间

5000 ms

最大响应时间

10000 ms