Skip to main content
このドキュメントは英語の原文から自動翻訳されています。表現に不自然な箇所がある場合があります。正確な内容は英語の原文もあわせてご確認ください。
公式のPython SDKは、PyPIでsupertoneとして公開されています。ソース:supertone-inc/supertone-python

早わかり

インストール

Python 3.9以上が必要です。

API Keyを設定する

SDKは環境変数を自動的に読み込みません。api_keyを明示的に渡してください。慣例としてSUPERTONE_API_KEYから読み込みます。
ボイスIDは環境変数ではありません。用途ごとに変わるため、コード内のプレーンな文字列として保持するか(あるいはリクエストペイロードから渡してください)。

音声を生成する(同期)

推奨パターンでは、コンテキストマネージャを使用して内部のHTTP接続をクリーンにクローズします。

音声を生成する(非同期)

_asyncサフィックスとasync withを使用します。
SDK上のすべてのリソースメソッドには両方の形式が用意されています:create_speech / create_speech_asyncstream_speech / stream_speech_asynclist_voices / list_voices_asyncなどです。

音声をストリーミングする

ストリーミングはオーディオチャンクのイテレータ(または非同期イテレータ)を返します。
非同期版はasync for chunk in response.result.aiter_bytes()を使用します。ストリーミングは現在sona_speech_1のみ対応しています。

長文の自動チャンク分割

create_speechcreate_speech_asyncstream_speechstream_speech_asyncは、300文字を超えるテキストを自動的に分割します。create_speechは最大3セグメントを並列実行してオーディオを結合し、stream_speechはセグメントを逐次実行してチャンクをイテレータに転送します。
predict_durationは自動チャンク分割を行いません。入力を300文字以内に収め、長いスクリプトでは手動で時間を合計してください。 詳細とチューニングについては長文を参照してください。

一般的な操作

型安全なenum(任意)

型安全性を求める場合、SDKはsupertone.modelsにenum定数を公開しています。
プレーンな文字列("en""sona_speech_1")も動作します。お好みのスタイルをお使いください。

エラー処理

エラーはsupertone.errorsに定義されており、すべてSupertoneErrorを継承しています。
ネットワークエラー(DNS失敗、パイプの破損など)はhttpxから発生し、SupertoneErrorを継承していません。

設定

関連項目

TypeScript SDK

NodeおよびBun向けの同等のSDK。

サンプル

一般的なワークフローのレシピ。