tts-1-hd
TTS-1 HD は、選べるプリセット音声、速度、6 つの出力形式を使い、文字を高品質な発話音声に変換します。OpenAI は、低遅延の TTS-1 とは異なり、HD をナレーション品質重視と位置付けています。完成した読み上げ、学習教材、編集済み音声段落に役立ちます。
モデルについて
この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。
TTS-1 HD は、音質に最適化された OpenAI のテキスト読み上げモデルです。準備した原稿が入力で、発話音声が出力です。HD は速度重視の TTS-1 とは異なります。OpenAI は、TTS-1 のほうが低遅延だが品質も低いと説明しています。そのため HD は、できるだけ早く再生を始めることより、完成した音声トラックを重視する場合のナレーションに役立ちます。記事、授業の段落、磨き上げた説明を音声素材にできます。
主要な入力は、選択したモデル、正確な文字、声です。メーカーの音声リファレンスは、リクエストごとの原稿を 4,096 文字までに制限しています。これは書かれた入力の長さであり、音声時間の保証ではありません。曖昧な略語を展開し、数量をどう読むか決め、各段落にまとまりを持たせ、耳で理解できる原稿を用意してください。長い授業や記事では、意味のある境界で文字を分け、生成した段落を使う順番を維持します。
現在の OpenAI ガイドは、TTS-1 HD の内蔵選択肢を alloy、ash、coral、echo、fable、onyx、nova、sage、shimmer の 9 つとしています。声は英語に最適化されていますが、テキスト読み上げガイドは必要な言語の文字を入力して複数言語の音声を生成することに対応しています。声の比較には、最終素材に登場する名前や専門語彙を含む同じ代表原稿を使うと最も役立ちます。複数クリップで 1 つのナレーションを構成する場合は、声と速度を統一してください。
既定の出力は MP3 です。Opus と AAC は別の圧縮音声形式、FLAC は可逆圧縮、WAV は非圧縮音声を提供します。PCM はファイルヘッダーなしの生の 24 kHz、16 ビット符号付きリトルエンディアンサンプルを出力します。これらは、配布用の小さなファイル、ストリーミング素材、編集工程に渡す音声など、異なる用途に対応します。デコード負荷が重要な場合、OpenAI は応答を速めるため WAV または PCM を推奨しています。ファイル形式の選択によって原稿が変わったり、別の音声制御モデルが追加されたりするわけではありません。
音声はチャンクで配信でき、完全な音声ファイルが準備できる前にプレーヤーで再生を始められます。これは文字から音声へのストリーミングで、双方向の音声会話を成立させるものではありません。リファレンスは 0.25~4.0 の速度値に対応し、既定は 1.0 です。独立した自然言語の instructions フィールドは TTS-1 HD では機能せず、このモデルは SSE イベント出力にも対応しません。文書化された制御は原稿、プリセット音声、速度、出力形式であり、新しい音声モデルのプロンプトによるアクセントや感情指示のインターフェースとは異なります。
言語ガイドは対応言語として、ロシア語、ウクライナ語、英語、フランス語、ドイツ語、スペイン語、ポルトガル語、イタリア語、中国語、日本語、韓国語、アラビア語、ヒンディー語、カザフ語などを挙げています。対象言語で原稿を準備してください。合成はその文字を音声化するもので、翻訳ではありません。学習コンテンツでは定義と区間の移り変わりを明確にします。説明音声では、正確なメッセージと、必ず聞き取れる必要がある名前を準備してください。特定言語や語彙の聞こえ方を評価するときも、声が英語に最適化されていることは重要です。
実用的な HD ワークフローは、聴取、確認した後、完成素材に組み込む音声段落を生成します。すべての文が音声化されたか、名前や数量の発音が許容できるか、選択した速度が理解を助けるかを確認してください。修正を該当段落まで追跡できるよう、音声と原稿を一緒に保管します。OpenAI は、生成音声が人工の声であることを明確に開示するよう求めています。HD は品質重視の TTS 系列を示し、それ自体で正確なタイミング、カスタム話者の声、別モデルの表現制御を約束するものではありません。
Ailoot Ultra · 音声合成 POST /v1/audio/speech openai/tts-1-hd
openai/tts-1-hdはじめに
TTS-1 HD は、選べるプリセット音声、速度、6 つの出力形式を使い、文字を高品質な発話音声に変換します。OpenAI は、低遅延の TTS-1 とは異なり、HD をナレーション品質重視と位置付けています。完成した読み上げ、学習教材、編集済み音声段落に役立ちます。
- 対応する入力
- テキスト
- 結果
- 音声
Ailootで利用可能 · 入力とメソッド
Ailoot Ultra · 音声合成 POST /v1/audio/speech
- 入力の種類
text- 出力の種類
audio- 出力形式
- mp3
| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
|---|---|---|---|---|
フィールドmodel | 種類string | 要件必須 | 値と制限 openai/tts-1-hd | デフォルト— |
フィールドinput | 種類string | 要件必須 | 値と制限 最小の長さ: 1 最大の長さ: 4,096 単位: Unicode 文字 | デフォルト— |
フィールドvoice | 種類string | 要件必須 | 値と制限 alloy | デフォルト— |
入力素材の組み合わせ
text_to_speech · 必須: input
メソッドのパラメータとライフサイクル
| パラメータ | 仕様 |
|---|---|
パラメータcontent_type | 仕様application/json |
パラメータrequired | 仕様model, input, voice |
パラメータvoice_ids | 仕様alloy |
パラメータmax_input_characters | 仕様4096 |
パラメータ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 トークン |
| 設定Ultra | 料金表— | 課金対象の数量漢字を含め、Unicodeコードポイント1つを1文字として数えます。 | 課金数量— | 課金単位1K入力文字あたり | 料金 入力 · 入力文字 $0.06 1K入力文字あたり |
| 設定リクエストごと | 料金表— | 課金対象の数量— | 課金数量リクエスト1件 | 課金単位— | 料金 入力 $0 リクエストあたり |
Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →
リクエスト例
Ailoot Ultra · 音声合成
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "openai/tts-1-hd", "input": "Good afternoon! This is a short voice take.", "voice": "alloy"}')
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 openai/tts-1-hd
メソッドパスのエイリアス
上記に表示されたメソッドパスを使用してください。
関連する呼び出し用ID
FAQ · tts-1-hd
- 利用できる入力と結果は何ですか?
POST /v1/audio/speech·openai/tts-1-hd:text→audio- リクエストはどの項目を使用しますか?
POST /v1/audio/speech·openai/tts-1-hd:model,input,voice- どの制限が適用されますか?
POST /v1/audio/speech·openai/tts-1-hd:input.maximum_length:4096