Belin Doc IconBelin Doc

Belin Doc · 開放平台

翻譯 API 文件

下列每個端點都是網頁端同名功能的開放版——一樣的模型、一樣的額度、一樣的成果,差別只在於用 API 金鑰取代登入狀態。

請求前綴
https://belindoc.com/api
驗證標頭
X-Api-Key
請求方式
POST · application/json
端點數
21
更新於
2026-09-04
目錄
開始使用

快速開始

從一份 PDF 到一份譯文,四步完成。影片翻譯的呼叫方式也一樣。

  1. 01

    建立金鑰

    登入 belindoc.com,點右上角頭像 → 開發者中心 → 新增金鑰。金鑰以 ft_ 開頭,完整值只在建立成功那一次顯示。

  2. 02

    上傳檔案

    先取得一個預簽上傳網址,再用 PUT 直接把檔案傳上去。網址 10 分鐘內有效,回傳的 objectKey 下一步會用到。

    bash
    # 1. 取得預簽名上傳位址(10 分鐘內有效)
    curl -X POST https://belindoc.com/api/external/translate/batchPresignedUploadUrl \
      -H "X-Api-Key: $BELINDOC_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"fileNameList": ["contract.pdf"]}'
    
    # → data[0].persignedUploadUrl / data[0].objectKey
    
    # 2. 用 PUT 將檔案直傳到該位址
    curl -X PUT "<persignedUploadUrl>" --upload-file contract.pdf
  3. 03

    送出翻譯

    fileList、sourceLanguage、targetLanguage、model 為必填。來源語言傳 AnyLanguage 即自動偵測;模型名稱不要寫死,以 getModelList 回傳的為準。

    bash
    curl -X POST https://belindoc.com/api/external/translate/batchSubmitTranslateTask \
      -H "X-Api-Key: $BELINDOC_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "fileList": [{ "fileName": "contract.pdf", "fileObjectKey": "<objectKey>" }],
        "sourceLanguage": "AnyLanguage",
        "targetLanguage": "zh-CN",
        "model": "Gemini-2.5-Flash"
      }'
    
    # → { "code": "200", "data": { "batchNo": "...", "fileList": [ ... ] } }
  4. 04

    輪詢並下載

    以 batchNo 輪詢至 status 為 3,再取下載網址。該端點回傳的是 SSE 串流,連結在 [DONE] 事件中。

    bash
    # 輪詢任務:status = 3 表示譯文已就緒
    curl -X POST https://belindoc.com/api/external/translate/searchTranslateFileByBatchNo \
      -H "X-Api-Key: $BELINDOC_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"batchNo": "<batchNo>"}'
    
    # 取譯文下載位址:SSE 回應,下載連結在 [DONE] 事件裡
    curl -N -X POST https://belindoc.com/api/external/translate/getTranslateS3DownloadUrl \
      -H "X-Api-Key: $BELINDOC_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"translateOrderNo": "<translateOrderNo>", "urlType": 2}'
    
    # event:[DONE]
    # data:{"url":"https://..."}
開始使用

驗證方式

開放端點都掛在 /external/ 底下,僅憑金鑰辨識呼叫方。其餘的參數、預設值與回應結構都與網頁端一致。

http
POST /api/external/translate/getModelList HTTP/1.1
Host: belindoc.com
Content-Type: application/json
X-Api-Key: ft_xxxxxxxxxxxxxxxxxxxxxxxx
language: zh

{}
json
{
  "code": "200",
  "msg": null,
  "requestId": "8f1c…",
  "data": { }
}
X-Api-Key 標頭
每次請求都要帶上金鑰。金鑰缺漏、被停用、已過期或呼叫 IP 不在白名單內,都會在進入業務邏輯前被擋下。
language 標頭
選填,決定回應中 msg 的語言,不帶預設為 en。可用值為站台支援的 9 種語言:en、zh、zh-Hant、ja、ko、fr、ru、de、ar。
金鑰只作用於個人帳號
金鑰永遠解析成建立它的那個個人帳號。檔案走平台儲存,任務扣的是該帳號自己的額度——組織的私有空間不透過 API 存取。
統一回應結構
所有端點都使用同一層包裝。code 為 200 代表成功,其餘皆為業務錯誤,msg 內是對應語言的提示文字。
不需要 JWT,也不需要簽章
網頁端那套 token 與簽章過濾器對 /external/ 全數放行。金鑰是唯一憑證,請視同密碼,只放在伺服器端。
/external/translate9 個端點

文件翻譯

文件翻譯主流程的全部端點:上傳、送出、輪詢、下載,另有模型與語言列舉——模型名稱與語言碼請從這裡取,別寫死在程式裡。

  • status:0 待處理 · 1 解析中 · 2 翻譯中 · 3 已完成 · 4 失敗 · 5 已取消
  • urlType:1 原檔 · 2 譯文 · 3 左右對照 · 4 上下對照 · -1 EPUB 預覽
01

取得上傳網址

POST

/external/translate/batchPresignedUploadUrl

批次取得檔案的預簽上傳網址。

入參

參數名型別必填說明
fileNameListarray[string]必填要取得上傳網址的檔名

回應 · data

參數名型別說明
persignedUploadUrlstring預簽 PUT 網址,10 分鐘內有效
objectKeystring送出翻譯時要回傳的儲存鍵
fileNamestring原始檔名
storageTypenumber該檔案所在的儲存類型
範例
請求
{
  "fileNameList": ["contract.pdf"]
}
回應
{
  "code": "200",
  "data": [
    {
      "persignedUploadUrl": "https://s3.../contract.pdf?X-Amz-Signature=…",
      "objectKey": "translate/10086/2026/contract.pdf",
      "fileName": "contract.pdf",
      "storageType": 1
    }
  ]
}
02

辨識掃描檔

POST

/external/translate/isOcr

送出前判斷上傳的檔案是不是掃描檔,只在真的需要時才開 OCR。

入參

參數名型別必填說明
fileObjectKeystring必填預簽端點回傳的 objectKey
storageTypenumber必填該檔案所在的儲存類型

回應 · data

參數名型別說明
isOcrnumber1 表示該檔案是掃描檔
isDoubleDecknumber1 表示該掃描檔已帶文字層
範例
請求
{
  "fileObjectKey": "translate/10086/2026/contract.pdf",
  "storageType": 1
}
回應
{
  "code": "200",
  "data": { "isOcr": 1, "isDoubleDeck": 0 }
}
03

送出翻譯任務

POST

/external/translate/batchSubmitTranslateTask

送出批次翻譯任務,回傳 batchNo 與每個檔案的訂單號。

入參

參數名型別必填說明
fileListarray必填待翻譯檔案清單
fileNamestring必填原始檔名
fileObjectKeystring必填預簽端點回傳的 objectKey
isOcrFilenumber1 表示該檔案以掃描檔處理,取自 isOcr 介面
sourceLanguagestring必填來源語言碼,AnyLanguage 為自動偵測
targetLanguagestring必填目標語言碼
modelstring必填模型版本號,取自 getModelList
isOcrnumber1 走 OCR,預設 0
isMathnumber1 保留公式排版,預設 0
translateStylenumber翻譯風格預設值
terminologyCollectionIdstring要套用的術語庫 ID;術語庫目前只能在網頁端建立與管理,介面側暫不提供

回應 · data

參數名型別說明
batchNostring送出時回傳的批次號
fileListarray待翻譯檔案清單
balanceHintnumber1 表示剩餘額度已不多
範例
請求
{
  "fileList": [
    { "fileName": "contract.pdf", "fileObjectKey": "translate/10086/2026/contract.pdf" }
  ],
  "sourceLanguage": "AnyLanguage",
  "targetLanguage": "zh-CN",
  "model": "Gemini-2.5-Flash",
  "isOcr": 0,
  "terminologyCollectionId": "66f1c2a4b8d3e5f7a9c1b2d3"
}
回應
{
  "code": "200",
  "data": {
    "batchNo": "B20260828173001",
    "fileList": [
      { "fileName": "contract.pdf", "fileObjectKey": "translate/10086/2026/contract.pdf" }
    ],
    "balanceHint": 0
  }
}
04

依批次號查任務

POST

/external/translate/searchTranslateFileByBatchNo

依批次號查詢該批全部任務,輪詢進度用這個。

入參

參數名型別必填說明
batchNostring必填送出時回傳的批次號

回應 · 任務物件

參數名型別說明
translateOrderNostring任務訂單號
batchNostring送出時回傳的批次號
sourceFileNamestring原始檔名
statusnumber任務狀態,見上方圖例
textNumbernumber本任務計費字元數
targetFileUrlstring譯文檔案網址
targetFileUrl2string中國大陸備援網址
xComparisonS3Urlstring左右對照檔
yComparisonS3Urlstring上下對照檔
freeTranslateQuotanumber本次消耗的免費頁數
walletTranslateQuotanumber本次消耗的付費頁數
createTimenumber建立時間,毫秒時間戳
startTimenumber開始時間,毫秒時間戳
endTimenumber完成時間,毫秒時間戳
errorCodestringstatus 為 4 時的失敗碼
範例
請求
{
  "batchNo": "B20260828173001"
}
回應
{
  "code": "200",
  "data": [
    {
      "translateOrderNo": "T20260828173002",
      "batchNo": "B20260828173001",
      "sourceFileName": "contract.pdf",
      "status": 3,
      "textNumber": 4820,
      "targetFileUrl": "https://s3.../contract_zh-CN.pdf?X-Amz-Signature=…"
    }
  ]
}
05

分頁查翻譯紀錄

POST

/external/translate/searchTranslateFilePage

分頁查詢本帳號的翻譯紀錄。

入參

參數名型別必填說明
pageNumnumber必填頁碼,從 1 開始
pageSizenumber必填每頁筆數
statusnumber任務狀態,見上方圖例
fileTypestring依檔案類型篩選,如 PDF
sourceFileNamestring依檔名篩選

回應 · data

參數名型別說明
recordsarray本頁資料
totalnumber總筆數
currentnumber目前頁碼
pagesnumber總頁數
06

查任務詳情

POST

/external/translate/getTranslateFileDetail

依訂單號查詢單一任務詳情。

入參

參數名型別必填說明
translateOrderNostring必填任務訂單號

回應 · 任務物件

參數名型別說明
translateOrderNostring任務訂單號
batchNostring送出時回傳的批次號
sourceFileNamestring原始檔名
statusnumber任務狀態,見上方圖例
textNumbernumber本任務計費字元數
targetFileUrlstring譯文檔案網址
targetFileUrl2string中國大陸備援網址
xComparisonS3Urlstring左右對照檔
yComparisonS3Urlstring上下對照檔
freeTranslateQuotanumber本次消耗的免費頁數
walletTranslateQuotanumber本次消耗的付費頁數
createTimenumber建立時間,毫秒時間戳
startTimenumber開始時間,毫秒時間戳
endTimenumber完成時間,毫秒時間戳
errorCodestringstatus 為 4 時的失敗碼
07

取得下載網址

POST

/external/translate/getTranslateS3DownloadUrl

取得原檔、譯文或對照檔的下載網址(SSE 回應)。

入參

參數名型別必填說明
translateOrderNostring必填任務訂單號
urlTypenumber必填要取哪一份檔案,見上方圖例
isWatermarknumber0 表示去浮水印,需方案支援

回應 · SSE 事件

參數名型別說明
urlstring下載網址,隨 [DONE] 事件送出
url2string中國大陸備援網址,有則送出
範例
請求
{
  "translateOrderNo": "T20260828173002",
  "urlType": 2,
  "isWatermark": 0
}
回應
event:[PROCESS]
data:

event:[DONE]
data:{"translateOrderNo":"T20260828173002","url":"https://s3.../contract_zh-CN.pdf?X-Amz-Signature=…"}
08

查詢可用模型

POST

/external/translate/getModelList

查詢 model 可用值及其額度係數。

入參

無入參,送出空的 JSON 主體即可。

回應 · data

參數名型別說明
versionstring送出時 model 要帶的值
modelTypenumber內部模型系列
vipTypenumber可用此模型的方案
coefficientnumber此模型的額度係數
groupTypenumber所屬分組
09

查詢支援語言

POST

/external/translate/getLanguageEnum

查詢 79 個支援的語言代碼及各語言譯名。

入參

無入參,送出空的 JSON 主體即可。

回應 · data

參數名型別說明
{locale}object語言 → 語言碼 → 該語言下的名稱
範例
回應
{
  "code": "200",
  "data": {
    "en": {
      "AnyLanguage": "Any language",
      "zh-CN": "Simplified Chinese",
      "…": "…"
    },
    "zh": {
      "AnyLanguage": "任意语言",
      "zh-CN": "简体中文",
      "…": "…"
    },
    "…": {}
  }
}
/external/videoTranslate10 個端點

影片翻譯

影片翻譯的完整循環:先試算額度,送出後追蹤進度,再取字幕改完回傳重新產生。

  • status:0 未開始 · 1 進行中 · 2 成功 · 3 失敗 · 4 已取消
  • step:1 語音辨識 · 2 字幕翻譯 · 3 語音生成
  • stepStatus:0 未開始 · 1 進行中 · 2 完成 · 3 失敗
  • subtitleType:0 不嵌字幕 · 1 譯文字幕 · 2 原文字幕 · 3 雙字幕
01

取得上傳網址

POST

/external/videoTranslate/batchPresignedUploadUrl

批次取得影片的預簽上傳網址。

入參

參數名型別必填說明
fileNameListarray[string]必填要取得上傳網址的檔名

回應 · data

參數名型別說明
persignedUploadUrlstring預簽 PUT 網址,10 分鐘內有效
objectKeystring送出翻譯時要回傳的儲存鍵
fileNamestring原始檔名
02

送出影片翻譯

POST

/external/videoTranslate/submitVideoTranslate

送出影片翻譯任務,videoTaskParam 內含配音、字幕與字型設定。

入參

參數名型別必填說明
sourceLanguagestring必填來源語言碼,AnyLanguage 為自動偵測
targetLanguagestring必填目標語言碼
sourceFileObjectKeystring必填已上傳影片的 objectKey
videoFileNamestring必填原始影片檔名
videoTaskParamobject必填配音、字幕與字型設定
voiceRolestring配音音色,clone 為複刻原聲
subtitleTypenumber要嵌入哪種字幕,見上方圖例
videoTaskParam 的其餘欄位(25 項,皆可省略)
參數名型別說明
recognTypenumber語音辨識引擎,預設 12,保持預設即可
modelNamestring辨識模型,預設 tiny
splitTypestring切分方式,預設 all
isCudaboolean是否啟用 GPU 加速,預設 false
translateTypenumber字幕翻譯引擎,預設 14,保持預設即可
ttsTypenumber語音合成引擎,預設 15,保持預設即可
voiceRatestring配音語速,如 +10%,預設 +0%
volumestring配音音量,如 +10%,預設 +0%
pitchstring配音音調,如 +5Hz,預設 +0Hz
voiceAutorateboolean配音時長自動對齊原聲,預設 true
videoAutorateboolean畫面時長自動對齊配音,預設 true
appendVideoboolean時長不足時循環補足畫面,預設 true
isSeparateboolean單獨輸出人聲與背景音,預設 false
onlyVideoboolean只產出影片,不產出字幕檔,預設 false
fontsizenumber字幕字級,預設 14
fontnamestring字幕字型名稱,不傳用伺服器預設
fontcolorstring字幕文字顏色,#RRGGBB 或 ASS 色值
fontboldboolean字幕是否粗體
subtitlePosYnumber字幕底邊距畫面底邊的百分比,0-90,不傳為底部
subtitlePosXnumber字幕水平中心距畫面左邊的百分比,5-95,50 為置中
fontbordercolorstring字幕描邊顏色,#RRGGBB / #RRGGBBAA / ASS 色值
backgroundcolorstring字幕背景框顏色,#RRGGBB / #RRGGBBAA / ASS 色值
outlinenumber描邊寬度 0-10,0 為關閉描邊
shadownumber陰影大小 0-10,0 為關閉陰影
borderStylenumber邊框樣式:1 一般描邊/陰影,3 逐行矩形背景框

回應 · 任務物件

參數名型別說明
videoTranslateOrderNostring影片任務訂單號
videoFileNamestring原始影片檔名
videoDurationnumber影片長度,單位秒
statusnumber任務狀態,見上方圖例
stepnumber目前處理環節,見上方圖例
stepStatusnumber目前環節的狀態,見上方圖例
targetFileUrlstring譯文檔案網址
sourceSubtitlesUrlstring原文字幕檔網址
targetSubtitlesUrlstring譯文字幕檔網址
freeTranslateQuotanumber本次消耗的免費頁數
walletTranslateQuotanumber本次消耗的付費頁數
errorMessagestring任務失敗時的原因
範例
請求
{
  "sourceLanguage": "ja",
  "targetLanguage": "zh-CN",
  "sourceFileObjectKey": "video/10086/2026/lecture.mp4",
  "videoFileName": "lecture.mp4",
  "videoTaskParam": { "voiceRole": "clone", "subtitleType": 1 }
}
03

試算影片額度

POST

/external/videoTranslate/videoTranslateQuotaCalculate

送出前依時長、音色、字幕類型試算額度消耗。

入參

參數名型別必填說明
videoDurationnumber必填影片長度,單位秒
voiceRolestring必填配音音色,clone 為複刻原聲
subtitleTypenumber必填要嵌入哪種字幕,見上方圖例

回應 · data

參數名型別說明
translateQuotanumber本次總消耗額度
videoDurationTranslateQuotanumber依長度折算的額度
thirtySecondQuotanumber每 30 秒的額度
quotaCoefficientnumber在基準之上的係數
04

分頁查影片紀錄

POST

/external/videoTranslate/searchVideoTranslatePage

分頁查詢本帳號的影片翻譯紀錄。

入參

參數名型別必填說明
pageNumnumber必填頁碼,從 1 開始
pageSizenumber必填每頁筆數
statusnumber任務狀態,見上方圖例

回應 · data

參數名型別說明
recordsarray本頁資料
totalnumber總筆數
currentnumber目前頁碼
pagesnumber總頁數
05

查任務詳情

POST

/external/videoTranslate/getVideoTranslateDetail

查詢單一影片任務,含進度與成果網址。

入參

參數名型別必填說明
videoTranslateOrderNostring必填影片任務訂單號

回應 · 任務物件

參數名型別說明
videoTranslateOrderNostring影片任務訂單號
videoFileNamestring原始影片檔名
videoDurationnumber影片長度,單位秒
statusnumber任務狀態,見上方圖例
stepnumber目前處理環節,見上方圖例
stepStatusnumber目前環節的狀態,見上方圖例
targetFileUrlstring譯文檔案網址
sourceSubtitlesUrlstring原文字幕檔網址
targetSubtitlesUrlstring譯文字幕檔網址
freeTranslateQuotanumber本次消耗的免費頁數
walletTranslateQuotanumber本次消耗的付費頁數
errorMessagestring任務失敗時的原因
06

取消影片任務

POST

/external/videoTranslate/cancelVideoTranslateHistory

取消尚未完成的影片任務。

入參

參數名型別必填說明
videoTranslateOrderNostring必填影片任務訂單號
07

取得字幕檔

POST

/external/videoTranslate/getVideoTranslateSubtitles

取回原文與譯文字幕,供外部編輯。

入參

參數名型別必填說明
videoTranslateOrderNostring必填影片任務訂單號

回應 · data

參數名型別說明
sourceSubtitlesUrlstring原文字幕檔網址
targetSubtitlesUrlstring譯文字幕檔網址
08

送出字幕改寫

POST

/external/videoTranslate/submitVideoRewrite

回傳編輯後的字幕,依新字幕重新產生影片。

入參

參數名型別必填說明
videoTranslateOrderNostring必填影片任務訂單號
sourceSubtitlesTxtstring必填編輯後的原文字幕
targetSubtitlesTxtstring必填編輯後的譯文字幕
videoTaskParamobject配音、字幕與字型設定
videoTaskParam 的其餘欄位(25 項,皆可省略)
參數名型別說明
recognTypenumber語音辨識引擎,預設 12,保持預設即可
modelNamestring辨識模型,預設 tiny
splitTypestring切分方式,預設 all
isCudaboolean是否啟用 GPU 加速,預設 false
translateTypenumber字幕翻譯引擎,預設 14,保持預設即可
ttsTypenumber語音合成引擎,預設 15,保持預設即可
voiceRatestring配音語速,如 +10%,預設 +0%
volumestring配音音量,如 +10%,預設 +0%
pitchstring配音音調,如 +5Hz,預設 +0Hz
voiceAutorateboolean配音時長自動對齊原聲,預設 true
videoAutorateboolean畫面時長自動對齊配音,預設 true
appendVideoboolean時長不足時循環補足畫面,預設 true
isSeparateboolean單獨輸出人聲與背景音,預設 false
onlyVideoboolean只產出影片,不產出字幕檔,預設 false
fontsizenumber字幕字級,預設 14
fontnamestring字幕字型名稱,不傳用伺服器預設
fontcolorstring字幕文字顏色,#RRGGBB 或 ASS 色值
fontboldboolean字幕是否粗體
subtitlePosYnumber字幕底邊距畫面底邊的百分比,0-90,不傳為底部
subtitlePosXnumber字幕水平中心距畫面左邊的百分比,5-95,50 為置中
fontbordercolorstring字幕描邊顏色,#RRGGBB / #RRGGBBAA / ASS 色值
backgroundcolorstring字幕背景框顏色,#RRGGBB / #RRGGBBAA / ASS 色值
outlinenumber描邊寬度 0-10,0 為關閉描邊
shadownumber陰影大小 0-10,0 為關閉陰影
borderStylenumber邊框樣式:1 一般描邊/陰影,3 逐行矩形背景框

回應 · data

參數名型別說明
videoTranslateRewriteOrderNostring字幕改寫任務訂單號
statusnumber任務狀態,見上方圖例
targetFileUrlstring譯文檔案網址
09

查字幕改寫進度

POST

/external/videoTranslate/getVideoTranslateRewriteDetail

查詢字幕改寫任務的進度。

入參

參數名型別必填說明
videoTranslateRewriteOrderNostring必填字幕改寫任務訂單號

回應 · data

參數名型別說明
statusnumber任務狀態,見上方圖例
targetFileUrlstring譯文檔案網址
targetSubtitlesUrlstring譯文字幕檔網址
errorMessagestring任務失敗時的原因
10

試算字幕改寫額度

POST

/external/videoTranslate/videoTranslateRewriteQuotaCalculate

試算字幕改寫重新產生影片的額度消耗。

入參

參數名型別必填說明
videoTranslateRewriteOrderNostring必填字幕改寫任務訂單號

回應 · data

參數名型別說明
translateQuotanumber本次總消耗額度
quotaCoefficientnumber在基準之上的係數
/external/user2 個端點

帳戶資訊

金鑰背後那個帳號的額度與方案。送出前先查餘額,比等介面回錯再補救省事。

  • subscriptionStatus:1 待處理 · 2 訂閱中 · 3 已退訂 · 4 已取消
  • interval:1 日 · 2 週 · 3 月 · 4 年
01

查詢剩餘額度

POST

/external/user/getMyWalletInfo

查詢該金鑰所屬帳號的錢包:頁數額度、OCR 額度、去浮水印次數與邀請獎勵餘額。

入參

無入參,送出空的 JSON 主體即可。

回應 · data

參數名型別說明
userIdnumber該金鑰所屬的帳號 ID
translateQuotanumber剩餘可用頁數額度
advancedTranslateQuotanumber剩餘進階模型額度
ocrTranslateQuotanumber剩餘 OCR 額度
accelerationCardNumbernumber剩餘加速卡數量
totalFreeTranslateQuotanumber本週期發放的免費頁數
useFreeTranslateQuotanumber本週期已用的免費頁數
totalFreeOcrTranslateQuotanumber本週期發放的免費 OCR 頁數
useFreeOcrTranslateQuotanumber本週期已用的免費 OCR 頁數
freeWatermarkQuotanumber剩餘去浮水印次數
daysFreeWatermarkQuotanumber每日發放的去浮水印次數
usedDaysFreeWatermarkQuotanumber今日已用的去浮水印次數
rewardBalancenumber邀請獎勵餘額
rewardTotalnumber累計獲得的邀請獎勵
範例
請求
{}
回應
{
  "code": "200",
  "data": {
    "userId": 10086,
    "translateQuota": 12000,
    "advancedTranslateQuota": 0,
    "ocrTranslateQuota": 800,
    "totalFreeTranslateQuota": 500,
    "useFreeTranslateQuota": 132
  }
}
02

查詢目前方案

POST

/external/user/getMySubscriptionInfo

查詢該金鑰所屬帳號的方案:級距、當前週期,以及它給到的並行數、檔案大小與影片長度上限。

入參

無入參,送出空的 JSON 主體即可。

回應 · data

參數名型別說明
vipNamestring方案名稱
vipTypenumber方案級距
subscriptionStatusnumber訂閱狀態,見上方圖例
intervalnumber訂閱週期,見上方圖例
startTimenumber本期開始時間,毫秒時間戳
endTimenumber本期結束時間,毫秒時間戳
translateQuotanumber每期發放的頁數額度
advancedTranslateQuotanumber每期發放的進階模型額度
freeTranslateQuotanumber每個週期發放的免費頁數
freeTranslateQuotaIntervalnumber免費頁數的重置週期:1 日 · 2 週 · 3 月
concurrenceTasknumber文件任務的並行上限
uploadFileSizenumber單一檔案大小上限,單位 MB
videoDurationLimitnumber影片長度上限,單位分鐘
videoTranslateConcurrencynumber影片任務的並行上限
videoFileSizenumber影片檔案大小上限,單位 MB
附錄

錯誤碼

金鑰層級的失敗同樣回傳 HTTP 200,業務碼放在回應主體裡。下列是接入方必須處理的幾個。

錯誤碼含義處理建議
30306無效的 API 金鑰確認金鑰是否完整複製(含 ft_ 前綴)。已刪除的金鑰同樣回傳這個碼。
30307金鑰已停用在開發者中心重新啟用,或改用另一把金鑰。
30308金鑰已過期把到期時間往後調,或建立新的金鑰。
30309呼叫 IP 不在白名單內把伺服器的對外 IP 加入該金鑰白名單,或直接清空白名單。
30312金鑰遭管理員封鎖請聯絡客服處理,這一項無法在開發者中心自行解除。

翻譯本身的錯誤——額度不足、檔案不支援、重複送出等——各有專屬錯誤碼,msg 也會依 language 標頭回傳對應語言。分支判斷請看 code,不要看 msg。

附錄

額度與限制

API 只是換一種呼叫方式,不是另一項產品。以下規則與網頁端完全相同。

同一份額度,不另計費
API 呼叫扣的是與網頁端同一份頁數、影片額度,模型係數也相同,沒有另外的 API 價目。
浮水印規則一致
免費額度下 PDF 譯文帶浮水印,與瀏覽器中取得的完全相同,走 API 也不會去掉。
只有送出類端點計次
金鑰的呼叫次數只在 batchSubmitTranslateTask、submitVideoTranslate、submitVideoRewrite 累加,查詢類端點可自由輪詢,不計次。
同一帳號序列化送出
送出會依帳號加鎖。上一次尚在受理時再送一次,會得到重複任務的錯誤碼——稍候重試即可,不要平行連發。
OCR 預設關閉
只有掃描檔才需要帶 isOcr。OCR 會在頁數額度之外再扣一份 OCR 子額度,文字版 PDF 開著它等於雙倍消耗——拿不準就先呼叫 isOcr 介面驗一下。

不想自己接 HTTP?

同一套能力也以 MCP 工具形式開放,AI 助理可直接呼叫,一行 HTTP 程式碼都不必寫。