メインコンテンツまでスキップ

TTS API リファレンス

Shisa TTS API は​ 2 つの​エンドポイントを​公開しています。​1 つは​音声を​生成する​もの、​もう​ 1​ つは​利用​可能な​音声を​一覧取得する​ものです。​どちらも​標準の​ベアラートークンで​認証します。

Authorization: Bearer YOUR_API_KEY

エンドポイント

音声生成

POST https://api.shisa.ai/tts

テキストを​音声に​変換します。​リクエストされた​形式の​バイナリ音声データを​返します。

音声​一​覧

GET https://api.shisa.ai/tts/voices

利用​可能な​すべての​音声の​メタデータ、​対応形式、​ストリーミング対応状況を​含む JSON 配列を​返します。​カタログに​ついては音声を​参照してください。

リクエストパラメータ

POST /tts エンドポイントの​パラメータ。​JSON ボディとして​送信します。

パラメータ必須説明
voice_idstring必須使用する​音声の​ UUID。​利用​可能な​ ID は​ GET /tts/voices から​取得します。
textstring必須音声に​変換する​テキスト。
formatstring必須出力音声形式。​選択した​音声が​サポートしている​必要が​あります。mp3wavoggpcmflac の​いずれか。
streamboolean任意true の​場合、​リアルタイム再生用に​チャンク化された​ストリームと​して​音声を​返します。streaming: true の​音声で​のみ​利用できます。​デフォルトは​ false

レスポンス

POST /tts — バイナリ音声

成功時、​API は​適切な​ Content-Type ヘッダー​(例: audio/mp3)​付きの​生バイナリ音声データを​返します。​レスポンスボディを​そのまま​ファイルに​保存してください。

# The response is binary audio data — save directly to file
curl -s -X POST "https://api.shisa.ai/tts" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"voice_id": "c3abe79a-99b3-4a5f-8549-f5cb42985291", "format": "mp3", "text": "テスト"}' \
--output speech.mp3

GET /tts/voices — JSON

利用​可能な​音声オブジェクトの​ JSON 配列を​返します。

[
{
"id": "c3abe79a-99b3-4a5f-8549-f5cb42985291",
"description": "Young male Japanese voice...",
"language": "Japanese & English",
"gender": "Male",
"formats": ["mp3", "ogg", "pcm"],
"streaming": true
}
]

音声オブジェクトの​フィールド:

フィールド説明
idstring (uuid)リクエストで​ voice_id と​して​使用する​ UUID。
descriptionstring人間が​読める​音声の​説明。
languagestring対応​言語。
genderstring音声の​性別​(Male、​Female、​Neutral)。
formatsarray対応する​出力音声形式。
streamingboolean音声が​リアルタイムストリーミングに​対応しているか​どうか。

エラーハンドリング

エラーは​次の​形式の​ JSON で​返されます。

{
"context": ["..."],
"code": 104,
"name": "ErrAuthenticationFailed",
"error": "Authentication error: Invalid token"
}

エラーコード

ステータス原​因対​処​方法
400パラメータの​欠落または​不正voice_idtextformat フィールドを​確認してください。
400音声に​対応していない​形式音声の​ formats 配列に​記載された​形式を​使用してください。
401API キーが​無効または​未設定Authorization: Bearer ヘッダーを​確認してください。
429レート制限超過指数バック​オフで​待機して​リトライしてください。
500内部​サーバーエラーリクエストを​リトライするか、​サポートに​連絡してください。
警告

リクエストされた​ format が​選択した​音声の​ formats 配列に​含まれていない​場合も​ 400 が​返されます。​音声を​生成する​前に、GET /tts/voices で​音声の​対応形式を​確認してください。

次の​ステップ

  • クイックスタートで​最初の​リクエストを​順を​追って​実行。
  • 音声カタログで​利用​可能な​音声を​閲覧。
  • 利用が​どのように​課金されるかを料​金で​確認。