コンテンツへ移動

ElevenLabs CLI v1のご紹介

公開日

聴くこの記事を聴く

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

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

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

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

エージェントをコードとして管理

エージェントをコードとして管理するとは、アプリケーションコードと同じようにエージェント設定を扱うことです。ディスク上のファイルで作業し、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オーディオで創造する