Skip to main content
接口文档

UploadTranslationFile 上传待翻译文件

上传待翻译文件并解析元数据,返回任务 ID 和文件分析结果。

上传文档并解析文档相关信息,生成翻译任务。上传成功后返回任务 ID 及文档解析结果,包含字数统计、页数统计、预估消耗 Credits、预估翻译时间、检测语言类型及字体列表等信息。同时对文档进行敏感信息检测。
本接口仅涉及文档上传与信息预估,不产生任何费用。Credits 消耗在正式提交翻译任务后开始计算。
流控限制:单账号 5 QPS,并发 5。
SDK 与 OpenAPI 的关系: SDK 的 UploadTranslationFile 方法封装了底层两个 OpenAPI 调用:
  1. GetUploadCredential — 获取 OSS 临时上传凭证(STS token),将文件上传到 OSS
  2. AnalyzeDocument — 传入 OSS key,解析文件元数据
通过 SDK 调用时无需关心这两个步骤,SDK 会自动处理。如果直接调用 OpenAPI(不通过 SDK),需要按上述两步分别调用。

请求参数

InputStream / BinaryIO
body
必填。待翻译的文件。使用 SDK 的 Advance 方法可直接传入本地文件流。
  • JavaInputStream 类型
  • PythonBinaryIO 类型
string
body
必填。上传文件的名称(含后缀)。请确保文件名正确,否则会导致文件解析失败。

响应参数

string
翻译任务 ID,用于后续的任务提交和查询。
integer
文档的字数统计。
integer
文档的页数统计。
double
预估需要消耗的 Credits。实际消耗以提交翻译任务后的结算为准。
integer
预估翻译时长,单位。实际翻译时长可能因文档复杂度存在差异。
string
检测到的源文档语言类型。可能的值:zh(中文)、en(英文)、ja(日文)、ko(韩文)、fr(法文)、de(德文)
string
Credits 计费明细描述。
boolean
当前账户 Credits 余额是否足够支付本次翻译。预估可能有偏差,实际以提交任务接口为准。
object
支持修改字体的语言和对应字体列表。Map 的 Key 为语言种类(如 enjafriddefault),Value 为对应的字体名称数组。
boolean
是否检测到敏感信息。
array<string>
命中的敏感信息关键词列表。仅当 SensitiveDetectedtrue 时有值。

调用示例

  • Java
import com.aliyun.realtranslationagent20260622.Client;
import com.aliyun.realtranslationagent20260622.models.*;
import com.aliyun.teautil.models.RuntimeOptions;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

File file = new File("/path/to/document.docx");
InputStream fileStream = new FileInputStream(file);

UploadTranslationFileAdvanceRequest request = new UploadTranslationFileAdvanceRequest()
        .setFileObject(fileStream)
        .setFileName(file.getName());

RuntimeOptions runtimeOptions = new RuntimeOptions();
UploadTranslationFileResponse response = client.uploadTranslationFileAdvance(request, runtimeOptions);

UploadTranslationFileResponseBody.UploadTranslationFileResponseBodyData data = response.getBody().getData();
System.out.println("TaskId: " + data.getTaskId());
System.out.println("检测语言: " + data.getDetectedLang());
System.out.println("字数: " + data.getWordCount());
System.out.println("页数: " + data.getPageCount());
System.out.println("预估 Credits: " + data.getEstimatedCostCredits());
System.out.println("预估时长(秒): " + data.getEstimatedTime());
System.out.println("余额充足: " + data.getCreditsAvailable());
System.out.println("敏感检测: " + data.getSensitiveDetected());

响应示例

{
  "Data": {
    "TaskId": "f9c35b0453b",
    "WordCount": 2000,
    "PageCount": 10,
    "EstimatedCostCredits": 3.0021,
    "EstimatedTime": 60,
    "DetectedLang": "zh",
    "CreditBreakdown": "docx: 0.002 Credits/word × 1000 words = 2.0",
    "CreditsAvailable": true,
    "Fonts": {
      "default": ["Arial", "Calibri", "Times New Roman"],
      "en": ["Times New Roman", "Calibri", "Arial"]
    },
    "SensitiveDetected": false,
    "SensitiveTags": []
  }
}

注意事项

  • 请确保上传的文档格式受支持(.pptx / .ppt/.docx / .doc/.xlsx / .xls/.pdf/.txt/.md/.mp4/.jpg / .jpeg/.png/.webp),否则返回 UnsupportedFileFormat 错误
  • 文件大小不能超过 500 MB
  • 若检测到敏感信息且翻译效果设置为极致模式,系统将自动调整为 auto 模式

错误码

错误码说明
InvalidParameter参数校验失败
File.Invalid请使用 SDK 的 Advance 方法上传文件
File.Unreachable文件无法访问,请重新上传
UnsupportedFileFormat不支持的文件格式
FileTooLarge文件超过大小限制
EmptyDocument文档内容为空
Sensitive.Blocked文档命中敏感内容,已被拦截