Deepgram: Flux TTS
Deepgram Flux TTSは、ターンをまたいで調子を引き継ぎ、英語テキストを会話の音声へ変換します。ストリーミングモードは割り込みを扱い、バッチ合成は同じ音声カタログで再利用可能な音声を生成します。
モデルについて
この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。
Flux TTSは、ライブの会話と固定の音声コンテンツ向けの、Deepgramのテキスト読み上げファミリーです。特徴は会話の連続性です。ストリーミングモデルがターンをまたいで韻律を引き継ぐため、対話が続いても一貫した調子を保てます。テキストを受け取り、音声を返します。Flux TTSと、別名のFlux音声認識モデルは、音声会話の異なる部分を担当します。
英語の声を選ぶ
文書化されたFluxカタログは英語を話し、米国、英国、アイルランド、オーストラリア、インド、シンガポール、フィリピンのアクセントがあります。声の説明は、カスタマーサービス、電話メニュー、ナレーション、日常会話向けの話者選択を助けます。たとえばメーカーは、Haleyを落ち着いた米国の声、Jackをプロフェッショナルな英国の声として挙げています。聴衆と読み上げる言葉の種類に合わせて声を選び、作品や会話の中で統一してください。他言語の音声には、別に文書化されたモデルの選択肢を使用します。
ライブのターンと割り込み
メーカーのストリーミングワークフローでは、アプリケーションが返答を作成しながらテキストを送り、音声を順次受け取れます。ターンには固有の開始・完了イベントがあり、ターンを終えると残りの合成を完了します。ターン間の文脈は、そのセッション内の韻律を保持します。最初に選択肢を説明し、その後、声の個性を変えずに確認の質問へ答える音声アシスタントに有用です。
割り込みはアクティブなターンをキャンセルし、発話済みの部分と残されたテキストを返します。この区別により、アプリケーションは聞き手が実際に聞いた内容から続けられます。実用的な対話では、重要な指示を先に置き、その後に説明を続けた短い返答を準備してください。聞き手が最初の指示の後で割り込んだ場合、説明全体を届けたと想定せず、次の返答で新しい質問に答えられます。
固定音声と出力形式
バッチ合成は、完全なテキストのブロックを受け取り、1つの応答で音声を返します。ストリーミングと同じ音声カタログを使い、事前に準備する電話案内、通知、ナレーションに適しています。バッチのリクエストは独立しており、ストリーミングのターン状態や割り込みイベントは固定クリップに適用されません。
ストリーミング出力は、ファイルコンテナーのない生音声で、16ビットPCM、mu-law、A-lawです。メーカーはPCMのサンプルレートとして8、16、24、32、44.1、48 kHzを文書化し、mu-lawとA-lawは8または16 kHzを使います。バッチ出力は追加でMP3、Opus、FLAC、AACに対応します。生サンプル列を一般的な音声ファイルとみなさず、意図したプレーヤーや電話経路が解釈できるエンコードとコンテナーを選んでください。
表現の制御と境界
メーカーは、0.5〜1.5、0.05刻みの話速範囲を文書化しています。ストリーミングの速度変更はセグメント境界で適用されます。別のベータ版のexpressivity制御は、落ち着いた表現から活発な表現へ変化させます。通常のSSMLや認識された競合製品のタグは、表現指示として使われずに除去されます。ネイティブなFluxの制御には固有の意味があります。
行内のポーズはバッチ合成の機能で、500〜3,000 ms、100 ms刻み、リクエストあたり最大8個のマーカーです。隣り合うポーズはテキストで隔てる必要があり、ポーズがある場合の速度上限は1.15です。発音の上書きはIPAを使い、Early Access段階です。メーカーは、指定した発音が生成ごとに変わる場合があると述べています。発音指定は、既定以外の速度やポーズ制御と組み合わせられません。専門的な名前を含む原稿では、選んだ声でそれらの用語を聞き、読み上げる表現を明確にしてください。
Deepgramの文書化されたストリーミングセッションは最長1時間で、対応する接続機構で維持しない場合、受信メッセージが60秒ないと閉じます。それらのセッション上限はライブの合成ワークフローに関するものです。有用な成果物は、意図した声、聞き手に分かりやすいテキスト、用途先に適した音声です。ライブアプリケーションでは、ターンが割り込まれたときに何が実際に話されたかを追跡します。
Ailoot Ultra · 音声合成 POST /v1/audio/speech deepgram/flux-tts
deepgram/flux-ttsはじめに
Deepgram Flux TTSは、ターンをまたいで調子を引き継ぎ、英語テキストを会話の音声へ変換します。ストリーミングモードは割り込みを扱い、バッチ合成は同じ音声カタログで再利用可能な音声を生成します。
- 対応する入力
- テキスト
- 結果
- 音声
Ailootで利用可能 · 入力とメソッド
Ailoot Ultra · 音声合成 POST /v1/audio/speech
- 入力の種類
text- 出力の種類
audio- 出力形式
- mp3
| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
|---|---|---|---|---|
フィールドmodel | 種類string | 要件必須 | 値と制限 deepgram/flux-tts | デフォルト— |
フィールドinput | 種類string | 要件必須 | 値と制限 最小の長さ: 1 単位: Unicode 文字 | デフォルト— |
フィールドvoice | 種類string | 要件必須 | 値と制限 flux-alexis-en, flux-bree-en, flux-brittany-en, flux-brooke-en, flux-bruce-en, flux-cliff-en, flux-cole-en, flux-colin-en, flux-conor-en, flux-donovan-en, flux-drew-en, flux-elise-en, flux-gemma-en, flux-haley-en, flux-hannah-en, flux-heather-en, flux-jack-en, flux-kai-en, flux-kelsey-en, flux-kit-en, flux-maeve-en, flux-marcelo-en, flux-marcus-en, flux-meena-en, flux-meghan-en, flux-miles-en, flux-naveen-en, flux-paige-en, flux-priya-en, flux-rufus-en, flux-sean-en, flux-sharon-en, flux-sienna-en, flux-tanner-en, flux-wade-en, flux-wes-en | デフォルト— |
フィールドresponse_format | 種類string | 要件必須 | 値と制限 mp3 | デフォルト— |
入力素材の組み合わせ
text_to_speech · 必須: input
メソッドのパラメータとライフサイクル
| パラメータ | 仕様 |
|---|---|
パラメータcontent_type | 仕様application/json |
パラメータrequired | 仕様model, input, voice, response_format |
パラメータvoice_ids | 仕様flux-alexis-en, flux-bree-en, flux-brittany-en, flux-brooke-en, flux-bruce-en, flux-cliff-en, flux-cole-en, flux-colin-en, flux-conor-en, flux-donovan-en, flux-drew-en, flux-elise-en, flux-gemma-en, flux-haley-en, flux-hannah-en, flux-heather-en, flux-jack-en, flux-kai-en, flux-kelsey-en, flux-kit-en, flux-maeve-en, flux-marcelo-en, flux-marcus-en, flux-meena-en, flux-meghan-en, flux-miles-en, flux-naveen-en, flux-paige-en, flux-priya-en, flux-rufus-en, flux-sean-en, flux-sharon-en, flux-sienna-en, flux-tanner-en, flux-wade-en, flux-wes-en |
パラメータresponse_format | 仕様mp3 |
パラメータmax_input_characters | 仕様null |
パラメータother_options | 仕様false |
パラメータinput | 仕様正確なUTF-8テキスト。正規化せずにUnicode文字数を数えます |
パラメータmaterial_types | 仕様text |
ライフサイクル: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · 実際に返された task_id またはメディアライブラリのレコード
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
このモデルのプロファイルから、使用する音声を正確に選択してください。
入力文字数と音声の秒数は、別の計測単位です。
料金
料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。
- 高速モード
- 未指定 高速モードが選択されている場合
- Flex モード
- 未指定 flex モードが選択されている場合
- 最大推論量
- 未指定 推論量が最大で、調整に既定値(default)を使用する場合
Ailootの料金
設定別の価格
各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。
| 設定 | 料金表 | 課金単位 | 料金 |
|---|---|---|---|
| 設定基本トークン料金 | 料金表基本料金 | 課金単位— | 料金 入力 · 入力トークン — / 1K トークン 出力 · 出力トークン — / 1K トークン 入力 · キャッシュ読み取り — / 1K トークン 入力 · キャッシュ書き込み — / 1K トークン 入力 · キャッシュ書き込み、1時間 — / 1K トークン |
| 設定入力文字 | 料金表— | 課金単位入力文字あたり | 料金 入力 · 入力文字 $0.00009 入力文字あたり |
参考料金の詳細
モデル単位の参照料金表は、メソッド選択、見積もり、課金を変更しません。実際の課金には、選択したAilootメソッドの料金を適用します。
Deepgram: Flux TTS
設定別の価格
| 設定 | 課金条件 | 料金 |
|---|---|---|
| 設定Deepgram: Flux TTS · 標準設定 | 課金条件デフォルト設定 | 料金 入力 · 入力文字数 $0.00009 入力文字あたり |
Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →
リクエスト例
Ailoot Ultra · 音声合成
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}"
export AILOOT_VOICE_ID
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "deepgram/flux-tts", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["flux-alexis-en", "flux-bree-en", "flux-brittany-en", "flux-brooke-en", "flux-bruce-en", "flux-cliff-en", "flux-cole-en", "flux-colin-en", "flux-conor-en", "flux-donovan-en", "flux-drew-en", "flux-elise-en", "flux-gemma-en", "flux-haley-en", "flux-hannah-en", "flux-heather-en", "flux-jack-en", "flux-kai-en", "flux-kelsey-en", "flux-kit-en", "flux-maeve-en", "flux-marcelo-en", "flux-marcus-en", "flux-meena-en", "flux-meghan-en", "flux-miles-en", "flux-naveen-en", "flux-paige-en", "flux-priya-en", "flux-rufus-en", "flux-sean-en", "flux-sharon-en", "flux-sienna-en", "flux-tanner-en", "flux-wade-en", "flux-wes-en"]')
if voice not in allowed: raise SystemExit("Choose an accepted voice ID from this exact model profile")
p["voice"]=voice
p["response_format"]="mp3"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o speech.mp3
結果を受け取って保存
Ailoot Ultra · 音声合成
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
その他のコンテンツ取得
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-assets.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_MEDIA_TASK_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_MEDIA_TASK_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/tasks/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-task.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-task.json").read_text())))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_ASSET_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_ASSET_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/assets/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-asset.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-asset.json").read_text())))
PY_RESULT
完了した結果をすべて保存
返された完全なレスポンス、ファイル、コンテンツ部分をすべて保存してください。
バイナリ結果の全体とヘッダーを保存してください。JSON または複数の出力が返された場合は、すべてのデータ項目を保存し、実際に返された署名付きアセット URL から各アセットを取得してください。
元のレスポンスを確認する場合
再送せずに照合できるよう、元の operation_id/X-Client-Request-ID を保存してください。音声専用のポーリングルートはありません。
レスポンスのフィールド
| フィールド | 種類 |
|---|---|
フィールドbinary audio | 種類bytes |
フィールドresponse headers | 種類headers |
エラーと次の手順
| レスポンス | 条件 | 次の手順 |
|---|---|---|
レスポンス400 · invalid_request_error | 条件必須フィールド、素材の表現形式、またはパラメーター値が不正です | 次の手順新しい生成リクエストを送る前に、指定されたフィールドを修正してください。 |
レスポンスserver_error | 条件返されたレスポンスは、操作または結果の確認が必要であることを示しています | 次の手順最初に返された操作/タスク ID、リクエストヘッダー、レスポンスを保存し、その元の操作に対してサポートされている読み取りを継続してください。作成リクエストを再送しないでください。 |
エイリアス
モデルのエイリアス
Ailoot Ultra deepgram/flux-tts
メソッドパスのエイリアス
上記に表示されたメソッドパスを使用してください。
関連する呼び出し用ID
FAQ · Deepgram: Flux TTS
- 利用できる入力と結果は何ですか?
POST /v1/audio/speech·deepgram/flux-tts:text→audio- リクエストはどの項目を使用しますか?
POST /v1/audio/speech·deepgram/flux-tts:model,input,voice,response_format