コンテンツへ移動

ElevenLabs CLI v1のご紹介

公開日
最終更新日

聴くこの記事を聴く

本日、ElevenLabs CLI v1をご紹介します。ElevenLabs APIをターミナルから直接利用できます。

コーディングエージェントはすでにターミナル上で動作しており、コマンドを実行し、結果を読み取り、ときにはランチを注文することさえあります。ElevenLabs CLIはエージェントファーストで設計されており、充実したドキュメントを備えたコマンドと、解析・連結しやすい構造化JSONの結果を提供します。--dry-runモードを使えば、ワークスペースに変更を加える前にあらゆる操作をプレビューできます。

CLIは、ElevenAgentsにもagents-as-codeをもたらします。ワークスペース内のすべてのエージェントをローカル設定ファイルに取得し、コードベースの他の部分と同じように編集できます。正確な差分をプレビューして、手動またはコーディングエージェント経由で本番環境へプッシュできます。

macOSへのインストール

brew install elevenlabs/tap/elevenlabs

Windows

scoop bucket add elevenlabs https://github.com/elevenlabs/scoop-bucket
scoop install elevenlabs

cURL

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/elevenlabs/cli/releases/latest/download/elevenlabs-cli-installer.sh | sh

1つのインターフェースからプラットフォーム全体へ

公開しているOpenAPI仕様に含まれるすべてのElevenLabs APIエンドポイントを、サブコマンドとして利用できます:

# list every agent in your workspace as structured JSON 
elevenlabs agents list --format json

# compose a song from a prompt
elevenlabs music compose --prompt "lo-fi track for a rainy afternoon" --output track.mp3

# speak a sentence and save the audio
elevenlabs text-to-speech convert --voice-id gPPH6SLdL8XSX6GNJ40G --text "Hello from the CLI" --output hello.mp3

コードとしてのエージェント

Agents-as-codeでは、アプリケーションコードと同じようにエージェント設定を扱います。ディスク上のファイルで作業し、CLIがワークスペースとの同期を保ちます。ワークフローはわずか3つのコマンドで完結します。

elevenlabs agents pull              # every agent in your workspace becomes a local config file
# edit a config: change the greeting, swap the voice, update the prompt
elevenlabs agents push --dry-run    # preview exactly what would change, without changing anything
elevenlabs agents push              # apply

同じワークフローを本番環境にも適用できます。ブランチで開発環境と本番環境を分離できるため、開発ブランチではテスト用電話番号と低コストのLLMを使い、本番環境では実際の番号と最先端モデルを使えます。新規プロジェクトでは、elevenlabs agents initがすべてのひな形を生成します。たとえばカスタマーサポートなど、一般的な構成用のスターターテンプレートも用意されています。

エージェントが数体であれば、ダッシュボードでも管理できます。しかし、数百の顧客組織にまたがるエージェント群を管理したり、別のプラットフォームからエージェントを一括移行したりする場合、スケールするワークフローはファイルとバージョン管理だけです。

コーディングエージェントとデベロッパーのために設計

CLIを使うエージェントの失敗の仕方は、人とは異なります。対話型プロンプトには答えられず、絶えず再試行し、エラーメッセージから得られる情報をもとに学習します。CLIはこの現実を踏まえて設計されています。

--helpは人向け、--schemaはエージェント向けです。すべてのAPIコマンドは、型付き入力、各入力の指定場所、必須項目、レスポンスの正確な形式といった、マシンリーダブルな契約を出力します。これによりエージェントは推測せずに有効な呼び出しを組み立てられます。

$ elevenlabs text-to-speech convert --schema
{
  "operation": "text-to-speech.convert",
  "description": "Create speech",
  "binaryResponse": true,
  "input": {
    "properties": {
      "text": { "location": "body", "type": "string" },
      "voice_id": { "location": "path", "type": "string" },
      ...
    },
    "required": ["text", "voice_id"]
  }
}

エラーもエージェントが活用できる情報を提供します。エージェントには解析可能なJSONとしてエラーが返されます。TTY経由で人間のユーザーが検出された場合は、代わりにプレーンなエラーメッセージが表示されます。どちらにもエラーの修正方法が含まれています。

次の無効なコマンドの場合:

$ elevenlabs text-to-speech convert --text "Hello from the CLI"

エージェントには次のエラーメッセージが返されます:

$ elevenlabs text-to-speech convert --text "Hello from the CLI"
{
  "error": {
    "code": 400,
    "message": "Required parameter 'voice_id' is missing. Provide it via --voice-id or --params",
    "reason": "validationError"
  }
}

一方、人間のユーザーには、より読みやすく問題の修正方法のヒントも含まれた次のエラーが表示されます:

error[validation]:
 Required parameter 'voice_id' is missing. Provide it via --voice-id or --params
 Try `elevenlabs text-to-speech convert --help`

スキルも標準搭載

--help--schemaは、CLIに組み込まれたマニュアルです。しかしスキルはさらに踏み込み、エージェントの構築、音声の生成、通話の文字起こしといった完全なワークフローをコーディングエージェントに教えます。

プロジェクトにインストールしてください:

elevenlabs generate-skills

エージェントはすでにターミナル上にいます。これからはElevenLabsのすべてもターミナル上にあります。CLIをインストールし、エージェントにスキルを渡して、何をリリースするか見てみましょう。まずはドキュメントをご覧ください。

関連記事

最高品質のAIオーディオで創造する