料金体系 
テキスト翻訳料金

ダーク

ライト

システムメンテナンスのお知らせ(8/13更新)

FILE TRANSLATION
ファイル翻訳・翻訳要請

ファイル翻訳を要請する。一回で複数のファイルを要請することも可能です。

コールバックURLの設定は可能です。 コールバックが設定される場合、ファイル翻訳完了の際に、翻訳結果を送りします。

詳しくは「コールバック」をご参照ください。

Endpoint
Request details
POST
https://translate.classiii.info/api/v1/file-translate
Header
Header
Description
Content-Type
multipart/form-data
accessKey, nonce, signature
「認証方法」をご参照ください。
Body
Key
Require
Description
fieldId
O
分野ID。 正しく指定することで翻訳精度を向上させることができます。 「専門分野」を参照してください。
targetLangs
O
訳文言語の配列。(文字列) 訳文言語はファイル内容の言語と異なる言語をご指定してください。 一部の言語(zh-CN、zh-TWなど)以外はISO 639-1コードで指定します。 対応の言語は「言語一覧取得」を参照してください。
files
O
翻訳するファイルの配列。 ファイルサイズ:最大500MB。 文字数:最大270KB相当。(日本語約9万字) 各段落(改行までは一つの段落)の文字数制限:500字以内。 対応フォーマット: PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX。 ページ数の制限はございません。 言語数に制限はございませんが、単一言語がおすすめです。
contractId
契約のID。 契約が一つのみ保有する場合、指定する必要はございません。 複数保有する場合は、契約IDの指定が必要です。 (利用するAPIが跨がる場合も含めます。例:テキスト翻訳とファイル翻訳の契約をそれぞれ保有している場合は、指定が必要。)
sourceLang
原文の言語。(一つのみ) 一部の言語(zh-CN、zh-TWなど)以外はISO 639-1コードで指定します。 省略した場合、自動判定します。 対応の言語は「言語一覧取得」を参照してください。
Request例
curl -X POST -H "nonce: Your Nonce" -H "accessKey: Your Access Key" -H "signature: Your Signature" -H "Content-Type: multipart/form-data" -F "files[]=@Your File Path" -F "targetLangs=[\"en\"]" -F "fieldId=1" https://translate.classiii.info/api/v1/file-translate
Response
Key
Description
status
成功の場合は「success」、失敗の場合は「failure」 を返します。
data
オブジェクトとして結果を返します。「translateId」で翻訳結果のファイルを取得する。
Response例
{
  "status": "success",
  "data": {
    "translateId": "8c76e418-9842-455b-aac1-5be28e8e4e94"
  }
}

api/v1/file-translate
指定されたファイルを英語に翻訳するリクエストを要請します。
const superagent = require('superagent');
const fs = require('fs');
const path = require('path');
const config = require('./config');

const authUtils = require('./utils/auth-utils');

const url = '/api/v1/file-translate';

const sendRequest = async (serverConfig, accessKey, secretKey) => {
  const nonce = new Date().getTime().toString();
  const signature = authUtils.generateSignature(
    url,
    secretKey,
    nonce,
  );
  const langs = ['en'];
  superagent.post(`${serverConfig.protocol}//${serverConfig.hostname}:${serverConfig.port}${url}`)
    .set({
      accessKey,
      signature,
      nonce,
    })
    .attach('files', fs.createReadStream(path.join(
      __dirname,
      'sample-files',
      'testfile.docx',
    )), 'testfile.docx')
    .field('targetLangs', JSON.stringify(langs))
    .field('fieldId', '1')
    .field('contractId', 'your contractId')
    .end((_, resp) => {
      console.log(resp.text);
    });
};

const main = async () => {
  try {
    await sendRequest(
      config.serverConfig,
      config.authConfig.accessKey,
      config.authConfig.secretKey,
    );
  } catch (error) {
    console.error(error);
  }
};

main();
認証については、「認証方法」をご参照ください。