ブログ / エンジニアリング

Cartesia Python SDK v2.0.0

Arjun Desai 
Cartesia Python SDK v2.0.0

Python SDK v2.0.0を公開しました。PythonでCartesiaのAI音声機能を使う際の開発体験を改善しています。

この記事はSDK v2.0.0の発表です。SDK v4.2.0を使った設定手順は、Pythonで音声合成:音声をWAVファイルに保存するをご覧ください。

PythonでCartesiaを使い始める

プロジェクトにCartesia Python SDKをインストールします。

pip install cartesia

SDKを初期化し、認証します。

from cartesia import Cartesia
import os

client = Cartesia(api_key=os.getenv("CARTESIA_API_KEY"))

これでリクエストを送信できます。たとえば、Cartesiaの音声合成モデルで音声を生成するには、次のように実行します。

client.tts.bytes(
    model_id="sonic-2",
    transcript="Hello, world!",
    voice={
        "mode": "id",
        "id": "694f9389-aac1-45b6-b726-9d9369183238",
    },
    language="en",
    output_format={
        "container": "wav",
        "sample_rate": 44100,
        "encoding": "pcm_f32le",
    },
)

その他の例は、API Explorerで確認できます。各API向けのPythonコードを生成できます。

Python SDKの概要

Python SDK v2は、一般的なSDK設計に沿って、各APIエンドポイントへの入口となるCartesiaクライアントを中心に構成しています。

その他の機能

  • 基本クライアント:24行のコードで、クライアントの作成から利用まで行えます。
  • 非同期クライアント:通常のリアルタイム呼び出しに加えてasyncクライアントを公開し、処理をブロックせずにAPIリクエストを送信できます。
  • ストリーミング:ストリーミング応答に対応し、反復処理できるジェネレーターを返します。
  • WebSocket:WebSocketで接続し、低レイテンシのリアルタイム音声アプリケーションを構築できます。
  • 例外処理:成功以外のステータスコードである4xx、5xxの応答を扱えます。
  • 再試行:指数バックオフによる自動再試行を備えています。
  • タイムアウト:既定のタイムアウトは60秒です。クライアント単位またはリクエスト単位のオプションで変更できます。
  • カスタムクライアント:httpxクライアントを差し替えて、プロキシやトランスポートへの対応など、用途に合わせて変更できます。

今後について

Cartesia Python SDKで皆さんが何をつくるのか、楽しみにしています。改善につながるご意見は、GitHubのIssueでお寄せください。