コンテンツにスキップ

TTS语音合成

音声合成(Text-to-Speech, TTS)API を使うと、テキストを自然で滑らかな音声に変換できます。このAPIは OpenAI 標準に対応しているほか、通义千问 qwen-tts シリーズモデルもサポートしており、高品質な中国語・英語の音声合成サービスを提供します。

  • エンドポイント: /v1/audio/speech
  • メソッド: POST
  • コンテンツタイプ: application/json
  • 認証: Bearer Token

本システムは通义千问の qwen-tts シリーズモデルを完全サポートしています:

モデル名説明特長
qwen-ttsベーシック版標準的な音質で、一般的な用途に適しています
qwen-tts-latest最新版音質が向上しており、より多くの音色に対応しています
qwen-tts-2025-05-22指定版安定版で、本番環境に適しています

共通音色(全バージョン対応)

Section titled “共通音色(全バージョン対応)”
音色コード音色名性別特長
Cherry甘く可愛らしい女性声甘く親しみやすい声で、温かみのある場面に適しています
Serenaやさしい女性声穏やかな声で、プロフェッショナルなアナウンスに適しています
Ethan落ち着いた男性声安定感のある声で、ビジネスシーンに適しています
Chelsie活発な女性声明るく元気な声で、若々しい雰囲気の場面に適しています

上位音色(qwen-tts-latest と qwen-tts-2025-05-22 で対応)

Section titled “上位音色(qwen-tts-latest と qwen-tts-2025-05-22 で対応)”
音色コード音色名性別特長
Dylan北京語若々しく活力があり、ファッション系コンテンツに適しています
Jada呉語知的で上品な印象があり、教育系コンテンツに適しています
Sunny四川語明るく朗らかな声で、子ども向けコンテンツに適しています
{
"model": "qwen-tts",
"input": "你好,欢迎使用语音合成服务!",
"voice": "Cherry"
}
{
"model": "qwen-tts-latest",
"input": "这是一段需要转换为语音的文本内容。支持中文、英文以及中英混合的文本输入。",
"voice": "Serena",
"speed": 1.0,
"response_format": "wav"
}
パラメータ必須説明
modelstringはい使用するTTSモデル。OpenAI tts と qwen-tts シリーズに対応しています
inputstringはい音声に変換するテキスト。最大512 Token まで
voicestringはい音声の音色。対応音色一覧を参照してください
speednumberいいえ音声速度。範囲は0.25-4.0、デフォルトは1.0
response_formatstringいいえ音声形式。現在は wav のみ対応しています

API は音声ファイルの内容を直接返します。レスポンスヘッダーには以下が含まれます:

Content-Type: audio/wav
Content-Disposition: attachment; filename="audio.wav"

音声フォーマット仕様:

  • 形式: WAV (RIFF)
  • エンコーディング: 16-bit PCM
  • チャンネル: モノラル (Mono)
  • サンプリングレート: 24000 Hz
{
"error": {
"message": "错误描述",
"type": "invalid_request_error",
"code": "error_code"
}
}
Terminal window
curl -X POST "https://api.4allapi.com/v1/audio/speech" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-tts",
"input": "你好,这是语音合成测试",
"voice": "Cherry"
}' \
--output audio.wav
Terminal window
curl -X POST "https://api.4allapi.com/v1/audio/speech" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-tts-latest",
"input": "欢迎使用通义千问语音合成服务,我是Jada!",
"voice": "Jada",
"speed": 1.2
}' \
--output audio_jada.wav
async function generateSpeech(text, voice = 'Cherry') {
const response = await fetch('/v1/audio/speech', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'qwen-tts-latest',
input: text,
voice: voice
})
});
if (response.ok) {
const audioBlob = await response.blob();
const audioUrl = URL.createObjectURL(audioBlob);
// 音声を再生
const audio = new Audio(audioUrl);
audio.play();
return audioUrl;
} else {
const error = await response.json();
throw new Error(error.error.message);
}
}
// 使用例
generateSpeech('你好,世界!', 'Serena');
import requests
import io
def generate_speech(text, voice='Cherry', model='qwen-tts-latest'):
url = 'https://api.4allapi.com/v1/audio/speech'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
data = {
'model': model,
'input': text,
'voice': voice
}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 200:
return response.content
else:
raise Exception(f"API Error: {response.status_code} - {response.text}")
# 使用例
audio_content = generate_speech('你好,这是Python调用示例!', 'Ethan')
# 音声ファイルを保存
with open('output.wav', 'wb') as f:
f.write(audio_content)
const fs = require('fs');
const fetch = require('node-fetch');
async function generateSpeech(text, voice = 'Cherry') {
try {
const response = await fetch('https://api.4allapi.com/v1/audio/speech', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'qwen-tts-latest',
input: text,
voice: voice
})
});
if (response.ok) {
const buffer = await response.buffer();
fs.writeFileSync('audio.wav', buffer);
console.log('音声ファイルを audio.wav として保存しました');
} else {
const error = await response.json();
console.error('API エラー:', error);
}
} catch (error) {
console.error('リクエスト失敗:', error);
}
}
// 使用例
generateSpeech('欢迎使用Node.js语音合成!', 'Dylan');

ストリーミングレスポンス(対応予定)

Section titled “ストリーミングレスポンス(対応予定)”

長文の場合、ストリーミングレスポンスを使うと、最初のバイトをより早く受け取れます:

Terminal window
curl -X POST "https://api.4allapi.com/v1/audio/speech" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "X-DashScope-SSE: enable" \
-d '{
"model": "qwen-tts",
"input": "这是一段较长的文本,使用流式响应可以获得更好的体验...",
"voice": "Chelsie"
}' \
--no-buffer
  • 1回のリクエストでの最大テキスト長:512 Token
  • 対応言語:中国語、英語、中国語と英語の混在
  • 特殊文字は自動的に処理されます
  • レート制限:ご利用のサブスクリプションプランに依存します
  • 同時実行制限:デフォルトで複数の並列リクエストに対応しています
  • ファイルサイズ:生成される音声ファイルのサイズはテキスト長に依存します
  • 最大音声長:約5分(テキスト長によって変動)
  • 音声品質:24kHz, 16-bit PCM
  • 出力形式:WAV
エラーコード説明対処方法
invalid_api_keyAPIキーが無効ですAuthorization ヘッダーのAPIキーを確認してください
model_not_foundモデルが存在しません正しい qwen-tts モデル名を使用しているか確認してください
invalid_voice音色がサポートされていません音色パラメータが対応一覧に含まれているか確認してください
text_too_longテキストが長すぎます入力テキストを512 Token 以内に短くしてください
quota_exceededクォータ不足ですアカウント残高またはリクエスト頻度制限を確認してください
  1. 音声ファイルが空、または破損している
  • APIキーが有効か確認してください
  • チャンネル設定が正しいか確認してください
  • モデル名と音色パラメータを確認してください
  1. リクエストがタイムアウトする
  • ネットワーク接続を確認してください
  • テキスト長を短くしてください
  • リクエストを再試行してください
  1. 音色が反映されない
  • 使用しているモデルバージョンがその音色に対応しているか確認してください
  • 音色パラメータの大文字・小文字を確認してください

qwen-tts シリーズモデルは文字数課金です:

  • 課金単位: 入力文字数に基づいて計算
  • 課金方式: プリペイド方式で、アカウント残高から差し引かれます
  • 料金: 管理画面の料金設定を参照してください
  1. 句読点: 句読点を適切に使うと、音声のリズムが改善されます
  2. 数字の処理: 数字は漢数字で書くことを推奨します(例:123 → 一百二十三)
  3. 英単語: 中国語と英語が混在する場合、英単語は中国語の発音ルールで読み上げられます
  1. シーンとの適合: コンテンツの種類に合わせて適切な音色を選んでください
  2. 一貫性: 同じアプリケーションでは、音色を統一することを推奨します
  3. テスト: まず各音色の効果を試してから決定することをおすすめします
  1. キャッシュ: 繰り返し使うテキストは音声ファイルをキャッシュするとよいです
  2. 分割: 長文は分割して処理することをおすすめします
  3. 並列処理: 同時リクエスト数は適切に制御してください
  • :check_mark_button: qwen-tts シリーズモデルのサポートを追加
  • :check_mark_button: 7種類の異なる音色をサポート
  • :check_mark_button: OpenAI 標準API形式との互換性を追加
  • :check_mark_button: ストリーミング/非ストリーミング両方のレスポンスに対応
  • :check_mark_button: 完全なエラー処理メカニズムを追加
  • :check_mark_button: 多言語 SDK のサンプルを追加

使用中に問題が発生した場合は、以下をお試しください:

  1. 本ドキュメントの「トラブルシューティング」部分を確認する
  2. API レスポンス内のエラー情報を確認する
  3. 技術サポートチームに連絡する

注意: 本APIは OpenAI の /v1/audio/speech インターフェース仕様と完全互換であり、既存の OpenAI TTS 呼び出しをそのまま置き換えられます。


4All API · 一站式AI大模型API聚合平台 | 価格 | お問い合わせ

© 2025 4All API. All rights reserved.