人間のような音声
感情知能を備えた最先端のニューラルTTS
自然な音声
自然なイントネーションと韻律を持つ非常にリアルな日本語と英語の音声
感情表現
感情的な音声変調で喜び、懸念、興奮、またはプロフェッショナリズムを表現
カスタム音声クローン
ブランド音声をクローンするか、一貫したオーディオブランディングのためにカスタム音声を作成
リアルタイムストリーミング
インタラクティブアプリケーションとリアルタイム会話のための低遅延ストリーミング
複数言語
ネイティブ発音品質で日本語、英語などをサポート
エンタープライズグレード
99.9%稼働時間SLA、セキュアな処理、エンタープライズニーズ向けの専用サポート
自分で試してみてください
このインタラクティブなデモでテキスト音声APIを体験してください。テキストを自然な音声に変換します。
🎵 テキスト音声合成デモ
テキストを自然な音声に変換
最大200文字45/200
💡 ヒント:Ctrl+Enterで素早く音声を生成できます。最良の結果を得るには、200文字までを使用してください。
クイックスタート
3つのステップで音声を生成できます。
ステップ1:認証
すべてのリクエストのAuthorizationヘッダーにAPIキーを含めてください。
Authorization: Bearer YOUR_API_KEYステップ2:最初のリクエスト
音声に変換したいテキストをPOSTリクエストで送信します。
curl -s -X POST "https://api.shisa.ai/tts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"voice_id": "e3362c0a-7677-4cd8-b122-91fb093305c9",
"format": "mp3",
"stream": false,
"text": "こんにちは。Shisa Talkへようこそ。"
}' \
--output speech.mp3最小リクエスト
voice_id、text、formatのみが必須です。リアルタイムストリーミングにはstream: trueを設定してください。
ステップ3:音声を再生
APIは指定された形式のバイナリ音声データを返します。ファイルに保存するか、オーディオプレーヤーに直接ストリーミングできます。
# Play the generated audio
ffplay -nodisp -autoexit speech.mp3
# Or stream directly
curl -s -X POST "https://api.shisa.ai/tts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"voice_id": "e3362c0a-7677-4cd8-b122-91fb093305c9", "format": "mp3", "stream": true, "text": "ストリーミングテストです。"}' \
--output - | ffplay -nodisp -autoexit -APIエンドポイント
音声生成と利用可能な音声の一覧取得のための2つのエンドポイント。
音声生成
POST
https://api.shisa.ai/ttsテキストを音声に変換します。指定された形式のバイナリ音声データを返します。
音声一覧
GET
https://api.shisa.ai/tts/voices利用可能な音声のメタデータ、対応フォーマット、ストリーミング対応状況をJSON配列で返します。
リクエストパラメータ
POST /tts エンドポイントのパラメータ。
POST /tts パラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| voice_id | string | 必須 | 使用する音声のUUID。利用可能なIDはGET /tts/voicesから取得できます。 |
| text | string | 必須 | 音声に変換するテキスト。最大5000文字。 |
| format | string | 必須 | 出力音声フォーマット。選択した音声がサポートする形式を指定してください。 オプション: mp3, wav, ogg, pcm, flac |
| stream | boolean | 任意 | 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": "e3362c0a-7677-4cd8-b122-91fb093305c9", "format": "mp3", "text": "テスト"}' \
--output speech.mp3GET /tts/voices — JSON
利用可能な音声オブジェクトのJSON配列を返します。
[
{
"id": "e3362c0a-7677-4cd8-b122-91fb093305c9",
"description": "Young male Japanese voice...",
"language": "Japanese & English",
"gender": "Male",
"formats": ["mp3", "ogg", "pcm"],
"streaming": true
}
]音声フィールド
- id: リクエストでvoice_idとして使用するUUID
- description: 人間が読める音声の説明
- language: 対応言語
- gender: 音声の性別(Male、Female、Neutral)
- formats: 対応する出力音声フォーマット
- streaming: リアルタイムストリーミングの対応状況
エラーハンドリング
エラーレスポンスとその対処方法。
エラーレスポンス形式
{
"context": ["..."],
"code": 104,
"name": "ErrAuthenticationFailed",
"error": "Authentication error: Invalid token"
}エラーコード
| ステータス | 原因 | 対処方法 |
|---|---|---|
| 400 | パラメータの欠落または不正 | voice_id、text、formatフィールドを確認してください |
| 400 | 音声に対応していないフォーマット | 音声のformats配列に含まれるフォーマットを使用してください |
| 401 | APIキーが無効または未設定 | Authorization: Bearerヘッダーを確認してください |
| 429 | レート制限超過 | 指数バックオフで待機してリトライしてください |
| 500 | 内部サーバーエラー | リクエストをリトライするか、サポートに連絡してください |
シンプルな統合
使いやすいAPIで数分で音声生成を開始
cURLでクイックスタート
# List available voices
curl -s -X GET "https://api.shisa.ai/tts/voices" \
-H "Authorization: Bearer YOUR_API_KEY" | jq .
# Generate speech
curl -s -X POST "https://api.shisa.ai/tts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"voice_id": "e3362c0a-7677-4cd8-b122-91fb093305c9",
"format": "mp3",
"stream": false,
"text": "こんにちは。Shisa Talkへようこそ。"
}' \
--output speech.mp3
# Stream audio directly to a player
curl -s -X POST "https://api.shisa.ai/tts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"voice_id": "e3362c0a-7677-4cd8-b122-91fb093305c9",
"format": "mp3",
"stream": true,
"text": "ストリーミングテストです。"
}' \
--output - | ffplay -nodisp -autoexit -Python統合
import requests
API_URL = "https://api.shisa.ai"
API_KEY = "YOUR_API_KEY"
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
# List available voices
def list_voices():
response = requests.get(f"{API_URL}/tts/voices", headers=HEADERS)
return response.json()
# Generate speech
def generate_speech(text, voice_id="e3362c0a-7677-4cd8-b122-91fb093305c9", format="mp3", stream=False):
response = requests.post(
f"{API_URL}/tts",
headers=HEADERS,
json={
"voice_id": voice_id,
"format": format,
"stream": stream,
"text": text
},
stream=stream
)
output_file = f"output.{format}"
with open(output_file, "wb") as f:
if stream:
for chunk in response.iter_content():
f.write(chunk)
else:
f.write(response.content)
return output_file
# Example usage
voices = list_voices()
print(voices)
audio_file = generate_speech(
"お客様の声を大切にしています。",
voice_id="e3362c0a-7677-4cd8-b122-91fb093305c9"
)JavaScript/TypeScriptストリーミング
const API_URL = 'https://api.shisa.ai';
const API_KEY = 'YOUR_API_KEY';
const headers = {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
};
// List available voices
const listVoices = async () => {
const response = await fetch(`${API_URL}/tts/voices`, { headers });
return response.json();
};
// Generate speech
const generateSpeech = async (text, voiceId = 'e3362c0a-7677-4cd8-b122-91fb093305c9', format = 'mp3') => {
const response = await fetch(`${API_URL}/tts`, {
method: 'POST',
headers,
body: JSON.stringify({
voice_id: voiceId,
format,
stream: true,
text,
}),
});
// Handle streaming response
const reader = response.body.getReader();
const chunks = [];
while (true) {
const { done, value } = await reader.read();
if (done) break;
chunks.push(value);
}
// Combine chunks and create audio blob
const blob = new Blob(chunks, { type: `audio/${format}` });
const url = URL.createObjectURL(blob);
// Play audio
const audio = new Audio(url);
audio.play();
};
// Example usage
const voices = await listVoices();
console.log(voices);
await generateSpeech('ようこそ、Shisa Talkへ。', 'e3362c0a-7677-4cd8-b122-91fb093305c9');信頼されるユースケース
企業がTTS APIをどのように活用しているかをご覧ください
バーチャルアシスタント
魅力的なユーザーインタラクションのために、自然な音声でAIアシスタント、チャットボット、音声インターフェースを強化。
- AI電話エージェント
- スマートホームアシスタント
- インタラクティブ音声応答
- 音声対応アプリ
オーディオブックとコンテンツ
プロフェッショナル品質のナレーションでオーディオブック、ポッドキャスト、教育コンテンツを大規模に作成。
- オーディオブックナレーション
- eラーニングコース
- ポッドキャスト制作
- ビデオナレーション
アクセシビリティ
視覚障害者がコンテンツにアクセスできるようにし、すべてのユーザーに音声代替を提供。
- スクリーンリーダー
- ニュース記事音声
- 文書ナレーション
- ナビゲーション支援