このドキュメントは英語の原文から自動翻訳されています。表現に不自然な箇所がある場合があります。正確な内容は英語の原文もあわせてご確認ください。
supertoneとして公開されています。ソース:supertone-inc/supertone-python。
早わかり
| パッケージ | PyPIのsupertone |
| リポジトリ | supertone-inc/supertone-python |
| 言語 | Python 3.9+ |
| 認証 | Supertone(api_key=...) |
| 同期API | あり(デフォルト) |
| 非同期API | *_asyncメソッド + async with |
| ストリーミング | iter_bytes() / aiter_bytes() |
| 長文の自動チャンク分割 | ✅ 300文字、最大3ワーカーで並列 |
| カスタムリトライ | ✅ retry_config経由 |
| HTTPバックエンド | httpx |
インストール
- pip
- uv
- poetry
API Keyを設定する
SDKは環境変数を自動的に読み込みません。api_keyを明示的に渡してください。慣例としてSUPERTONE_API_KEYから読み込みます。
音声を生成する(同期)
推奨パターンでは、コンテキストマネージャを使用して内部のHTTP接続をクリーンにクローズします。音声を生成する(非同期)
_asyncサフィックスとasync withを使用します。
create_speech / create_speech_async、stream_speech / stream_speech_async、list_voices / list_voices_asyncなどです。
音声をストリーミングする
ストリーミングはオーディオチャンクのイテレータ(または非同期イテレータ)を返します。async for chunk in response.result.aiter_bytes()を使用します。ストリーミングは現在sona_speech_1のみ対応しています。
長文の自動チャンク分割
create_speech、create_speech_async、stream_speech、stream_speech_asyncは、300文字を超えるテキストを自動的に分割します。create_speechは最大3セグメントを並列実行してオーディオを結合し、stream_speechはセグメントを逐次実行してチャンクをイテレータに転送します。
predict_durationは自動チャンク分割を行いません。入力を300文字以内に収め、長いスクリプトでは手動で時間を合計してください。
詳細とチューニングについては長文を参照してください。
一般的な操作
型安全なenum(任意)
型安全性を求める場合、SDKはsupertone.modelsにenum定数を公開しています。
"en"、"sona_speech_1")も動作します。お好みのスタイルをお使いください。
エラー処理
エラーはsupertone.errorsに定義されており、すべてSupertoneErrorを継承しています。
| エラークラス | HTTPステータス |
|---|---|
BadRequestErrorResponse | 400 |
UnauthorizedErrorResponse | 401 |
PaymentRequiredErrorResponse | 402 |
ForbiddenErrorResponse | 403 |
NotFoundErrorResponse | 404 |
RequestTimeoutErrorResponse | 408 |
PayloadTooLargeErrorResponse | 413 |
UnsupportedMediaTypeErrorResponse | 415 |
TooManyRequestsErrorResponse | 429 |
InternalServerErrorResponse | 500 |
httpxから発生し、SupertoneErrorを継承していません。
設定
関連項目
TypeScript SDK
NodeおよびBun向けの同等のSDK。
サンプル
一般的なワークフローのレシピ。