このドキュメントは英語の原文から自動翻訳されています。表現に不自然な箇所がある場合があります。正確な内容は英語の原文もあわせてご確認ください。
@supertone/supertoneとして公開されています。ソース:supertone-inc/supertone-ts。
早わかり
| パッケージ | npmの@supertone/supertone |
| リポジトリ | supertone-inc/supertone-ts |
| 言語 | TypeScript 5+ / Node 18+ |
| モジュール形式 | ESM + CommonJS |
| 認証 | new Supertone({ apiKey: ... }) |
| 同期API | n/a |
| 非同期API | すべてのメソッド(Promise) |
| ストリーミング | ReadableStreamリーダー |
| 長文の自動チャンク分割 | ✅ 300文字、逐次 |
| カスタムリトライ | ✅ retryConfig経由 |
| HTTPバックエンド | fetch |
インストール
- npm
- pnpm
- bun
- yarn
fetchおよびReadableStreamのため)。BunおよびDenoでも動作します。ブラウザ向けには設計されていません(API Keyはクライアント側に置くべきではありません)。
API Keyを設定する
音声を生成する
音声をストリーミングする
sona_speech_1のみ対応しています。
長文の自動チャンク分割
createSpeechとstreamSpeechは、いずれも300文字を超えるテキストを自動的にチャンク分割します。テキストはそのまま渡してください。SDKが分割し、セグメントごとに生成し、結果を結合(またはストリーミング)します。
predictDurationは自動チャンク分割を行いません。300文字制限が強制されます。
詳細は長文を参照してください。
一般的な操作
型安全なenum(任意)
型安全性を求める場合、SDKは@supertone/supertone/modelsにenum定数を公開しています。
"en"、"sona_speech_1")も動作します。お好みのスタイルをお使いください。
エラー処理
エラーは@supertone/supertone/models/errorsに定義されており、すべてSupertoneErrorを継承しています。
| エラークラス | HTTPステータス |
|---|---|
BadRequestErrorResponse | 400 |
UnauthorizedErrorResponse | 401 |
PaymentRequiredErrorResponse | 402 |
ForbiddenErrorResponse | 403 |
NotFoundErrorResponse | 404 |
RequestTimeoutErrorResponse | 408 |
PayloadTooLargeErrorResponse | 413 |
UnsupportedMediaTypeErrorResponse | 415 |
TooManyRequestsErrorResponse | 429 |
InternalServerErrorResponse | 500 |
ConnectionError、RequestTimeoutError、RequestAbortedErrorなど)はSupertoneErrorではなくHTTPClientErrorを継承します。
設定
関連項目
Python SDK
Python向けの同等のSDK。
サンプル
一般的なワークフローのレシピ。