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

ダーク

ライト

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

TEXT TO SPEECH
音声合成
テキストを合成音声ファイルに変換します。
Endpoint
Request details
POST
https://translate.classiii.info/api/v1/translate/tts
Header
Header
Description
Content-Type
application/json
accessKey, nonce, signature
「認証方法」を参照してください。
Body
Key
Require
Description
targetLang
O
テキストの言語。 ISO 639-1コードで指定します。 現在日本語と英語と中国語は対応しています。
text
O
原文。 文字列のリストで指定してください。 空文字列を指定しないでください。 長さは8000バイト以内(UTF-8で漢字約2000字)でお願いします。
contractId
契約のID。 契約が一つのみ保有する場合、指定する必要はございません。 複数保有する場合は、契約IDの指定が必要です。 (利用するAPIが跨がる場合も含めます。例:テキスト翻訳と音声翻訳の契約をそれぞれ保有している場合は、指定が必要。)
Request例
{
    "text": "Hello. Have a nice day!",
    "targetLang": "en"
}
Response
Key
Description
N/A
WAV形式の合成音声ファイル
Response例
<wav File Byte Array>

api/v1/translate/tts
テキストを合成音声ファイルに変換します。
const fs = require('fs');
const https = require('https');
const crypto = require('crypto');

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

const serverConfig = {
 protocol: 'https:',
 hostname: 'translate.classiii.info',
 port: 443
};
const authConfig = {
 accessKey: 'ACCESS_KEY',
 secretKey: 'SECRET_KEY',
 nonce: Date.now().toString()
};
const data = {
 text: 'こんにちは、いい天気ですね。',
 targetLang: 'ja',
 contractId: 'your contractId'
};
const speechFile = 'speech.wav';

const getSpeechResult = (serverConfig, authConfig, data) => {
 const path = '/api/v1/translate/tts';
 const signature = authUtils.generateSignature(
   path,
   authConfig.secretKey,
   authConfig.nonce
 );
 const requestOptions = {
   protocol: serverConfig.protocol,
   host: serverConfig.hostname,
   port: serverConfig.port,
   method: 'POST',
   path,
   headers: {
     accessKey: authConfig.accessKey,
     signature,
     nonce: authConfig.nonce,
     'Content-Type': 'application/json'
   }
 };

 return new Promise((resolve, reject) => {
   const request = https.request(requestOptions, (response) => {
     const writeStream = fs.createWriteStream(speechFile);
     response.pipe(writeStream);
     response.on('close', () => {
       resolve();
     });
   });
   request.on('error', (error) => {
     reject(error);
   });
   request.write(JSON.stringify(data));
   request.end();
 });
};

const main = async () => {
 try {
   await getSpeechResult(serverConfig, authConfig, data);
   console.log('Speech file downloaded to:');
   console.log(speechFile);
 } catch (error) {
   console.error(error);
 }
};

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