mcpField
E
elevenlabs-tts

elevenlabs-tts

github.com/mengtoクリエイティブ・メディア7.1k1.4k 回インストール3 日前に更新
リポジトリ

elevenlabs-tts について

ElevenLabs で音声を生成する再利用可能なスキルです。ローカルプロファイルとリクエスト単位の設定を使い、音声選択、入力、出力、ドライランに補助スクリプトを利用します。

主な機能

  1. 01ローカル音声プロファイル設定
  2. 02テキスト・ファイル・標準入力
  3. 03リクエスト単位の生成設定
  4. 04音声の検索と一覧表示
  5. 05ドライランでのリクエスト確認

活用シーン

  1. 01台本ファイルから音声を生成
  2. 02ローカル音声プロファイルの選択
  3. 03合成前のリクエスト確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mengto/skills --skill elevenlabs-tts

インストール後、Claude Code で/elevenlabs-ttsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

demo/
expected-output.md
index.html
input.md
PROMPT.md
scripts/
generate_voice.py

詳細

ElevenLabs TTS

ElevenLabs のテキスト読み上げ生成には、このスキルを使用してください。スキルは再利用可能で、個人情報を含まない状態にしてください。

  • API キー、音声名、音声 ID、メールアドレス、アカウント名、顧客名、個人用の既定値をスキルに保存しないでください。
  • ELEVENLABS_API_KEY はプロセス環境または最も近い .env から読み込んでください。
  • アカウント固有の音声プロファイルは、このスキルの外部にあるローカル JSON 設定から読み込んでください。
  • リクエスト単位の設定で音声を生成してください。ユーザーから明示的な依頼がない限り、保存済みの ElevenLabs アカウント設定や音声設定を変更しないでください。

ローカルプロファイル

次の設定ソースを上から順に使用してください。

  1. --config /path/to/profiles.json
  2. ELEVENLABS_TTS_CONFIG=/path/to/profiles.json
  3. local/elevenlabs/profiles.json

プロジェクト内のプロファイルファイルも、たとえば config/local/elevenlabs-tts.json のように gitignore されていれば問題ありません。

ヘルパースクリプトは、次の形式を想定しています。

{
  "default_profile": "default",
  "profiles": {
    "default": {
      "voice_name": "Voice name from the local account",
      "voice_id": "optional-direct-voice-id",
      "voice_id_env": "OPTIONAL_ENV_VAR_WITH_VOICE_ID",
      "model_id": "eleven_multilingual_v2",
      "output_format": "mp3_44100_128",
      "voice_settings": {
        "stability": 0.5,
        "similarity_boost": 1.0,
        "style": 0.0,
        "speed": 1.0,
        "use_speaker_boost": true
      },
      "output_dir": "outputs/voiceovers",
      "emails": []
    }
  }
}

emails、所有者、エイリアス、メモなどのフィールドは、ローカルの振り分けやコンテキストにのみ使用します。スクリプトは未知のメタデータフィールドを無視します。

ワークフロー

  1. --profile、ELEVENLABS_TTS_PROFILE、default_profile のいずれかからプロファイルを選択します。
  2. ヘルパースクリプトの使用を推奨します。 python3 <skill-root>/scripts/generate_voice.py --text-file script.txt --profile default --output output.mp3
  3. プロファイルに voice_id がある場合は、それを使用します。voice_id_env がある場合は、その環境変数を読み込みます。それ以外の場合は、ElevenLabs を voice_name で検索します。
  4. ユーザーが今回の生成について上書きしない限り、プロファイルの model_id、output_format、voice_settings を使用します。
  5. 生成した音声は、指定された出力先に保存します。出力先が指定されていない場合は、プロファイルの output_dir を使用し、それもなければ outputs/voiceovers/ を使用します。
  6. 出力パスと重要な警告があれば報告します。シークレットは表示しないでください。

ヘルパースクリプト

同梱のスクリプトは、次の機能に対応しています。

  • インラインテキストには --text "..." を使用
  • スクリプトファイルには --text-file path.txt を使用
  • --text と --text-file のどちらも指定されていない場合は stdin を使用
  • ローカルプロファイルを選択するには --profile name を使用
  • ローカルのプロファイルファイルを選択するには --config path.json を使用
  • 1 回限りの上書きには --voice-id、--voice-name、--model-id、--output-format、--settings-json を使用
  • 出力ファイルを選択するには --output path.mp3 を使用
  • テキスト読み上げエンドポイントを呼び出さずに、解決済みのリクエストペイロードを表示するには --dry-run を使用
  • 音声を生成せずに、一致する ElevenLabs の音声を一覧表示するには --list-voices を使用

API に関する注意

現在の ElevenLabs エンドポイントを使用してください。

  • 音声検索:GET https://api.elevenlabs.io/v2/voices
  • 音声生成:POST https://api.elevenlabs.io/v1/text-to-speech/:voice_id?output_format=...

API キーは xi-api-key として送信してください。

コメント