elevenlabs-tts について
ElevenLabs で音声を生成する再利用可能なスキルです。ローカルプロファイルとリクエスト単位の設定を使い、音声選択、入力、出力、ドライランに補助スクリプトを利用します。
主な機能
- 01ローカル音声プロファイル設定
- 02テキスト・ファイル・標準入力
- 03リクエスト単位の生成設定
- 04音声の検索と一覧表示
- 05ドライランでのリクエスト確認
活用シーン
- 01台本ファイルから音声を生成
- 02ローカル音声プロファイルの選択
- 03合成前のリクエスト確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mengto/ skills --skill elevenlabs-ttsインストール後、Claude Code で/elevenlabs-ttsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
demo/expected-output.mdindex.htmlinput.mdPROMPT.mdscripts/generate_voice.py詳細
ElevenLabs TTS
ElevenLabs のテキスト読み上げ生成には、このスキルを使用してください。スキルは再利用可能で、個人情報を含まない状態にしてください。
- API キー、音声名、音声 ID、メールアドレス、アカウント名、顧客名、個人用の既定値をスキルに保存しないでください。
ELEVENLABS_API_KEYはプロセス環境または最も近い.envから読み込んでください。- アカウント固有の音声プロファイルは、このスキルの外部にあるローカル JSON 設定から読み込んでください。
- リクエスト単位の設定で音声を生成してください。ユーザーから明示的な依頼がない限り、保存済みの ElevenLabs アカウント設定や音声設定を変更しないでください。
ローカルプロファイル
次の設定ソースを上から順に使用してください。
--config /path/to/profiles.jsonELEVENLABS_TTS_CONFIG=/path/to/profiles.jsonlocal/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、所有者、エイリアス、メモなどのフィールドは、ローカルの振り分けやコンテキストにのみ使用します。スクリプトは未知のメタデータフィールドを無視します。
ワークフロー
--profile、ELEVENLABS_TTS_PROFILE、default_profileのいずれかからプロファイルを選択します。- ヘルパースクリプトの使用を推奨します。
python3 <skill-root>/scripts/generate_voice.py --text-file script.txt --profile default --output output.mp3 - プロファイルに
voice_idがある場合は、それを使用します。voice_id_envがある場合は、その環境変数を読み込みます。それ以外の場合は、ElevenLabs をvoice_nameで検索します。 - ユーザーが今回の生成について上書きしない限り、プロファイルの
model_id、output_format、voice_settingsを使用します。 - 生成した音声は、指定された出力先に保存します。出力先が指定されていない場合は、プロファイルの
output_dirを使用し、それもなければoutputs/voiceovers/を使用します。 - 出力パスと重要な警告があれば報告します。シークレットは表示しないでください。
ヘルパースクリプト
同梱のスクリプトは、次の機能に対応しています。
- インラインテキストには
--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 として送信してください。
コメント
Markdown 対応