scenario-elevenlabs について
音声、音楽、効果音、吹き替え、音声処理に使うElevenLabsモデルの選び方を解説するScenarioスキルです。音声レーンごとの入力と出力の違いや、声の制御、音声トラックの置き換えを説明します。
主な機能
- 01声を調整できる音声生成
- 02プロンプト式・セクション式の音楽生成
- 03効果音とループ音声の生成
- 04言語・話者設定付きの吹き替え
- 05音声変換と声の分離
活用シーン
- 01ナレーションや表現豊かな台詞の作成
- 02インストゥルメンタルや構成付き音楽の生成
- 03重要語を保った動画の吹き替え
- 04録音音声の声質変換やノイズ除去
MCP 対応
`search`、`model_schema_get`、`model_run`などのScenario MCPツールでElevenLabsモデルを検索・実行し、アセット関連ツールで入出力メディアを扱います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ scenario-labs/ skills --skill scenario-elevenlabsインストール後、Claude Code で/scenario-elevenlabsを入力して読み込まれたか確認します。
詳細
Scenario ElevenLabs Audio
概要
ElevenLabsはScenarioで、音声、音楽、効果音、吹き替え、音声変換という5つの音声分野をカバーしています。作成時点でElevenのメンバーが並行して提供され、それぞれが1つの役割を担います。重要なのは、1つのモデルを別のモードに誘導することではなく、適切なメンバーを選ぶことです。searchで見つけ、model_schema_getを仕様として扱ってください。各メンバーの共通点はほとんどありません。
接続方法と基本の流れについては、このリポジトリのscenarioスキルを、モデルに依存しない音声処理についてはscenario-audioスキルを参照してください。ここに記載されたスキルが利用可能なスキルにない場合は、ユーザーにインストールを依頼してください(npx skills add scenario-labs/skills --skill <name>)。無人で処理する場合は、ツールのスキーマに従って進め、不足していることを明示してください。
クイックリファレンス
| ジョブ | メンバー | 決め手となる入力 |
|---|---|---|
| 表現豊かな音声、対話 | Eleven v3 | インラインタグ付きのtext |
| ナレーション、言語の指定 | Multilingual 2 | languageCode |
| 高速または大量の音声生成 | Turbo 2.5 | 同じ形式、低コスト |
| 1つのプロンプトから音楽を生成 | Music v2 | prompt、durationSeconds、forceInstrumental |
| 構成を指定した楽曲 | Music Advanced v2 | 必須のsections配列 |
| 効果音とループ | Sound Effects 2 | text、promptInfluence、loop |
| ローカライズ、名前の保護 | Dubbing v2 | file、targetLang、keyterms |
| ローカライズ、話者の制御 | Dubbing | numSpeakers、dropBackgroundAudio |
| 録音音声の声を変換 | Speech to Speech、Voice Changer | audio(最大5分)と音声 |
| ノイズの多い音声をクリーンアップ | Voice Isolator | audio |
音声を扱うメンバーは、共通の音声仕様を使います。voiceIdにはクローンしたElevenLabsの音声を指定でき、常に優先されます。publicVoiceではプリセット(作成時点で21種類)を選択できますが、voiceIdと併せて指定すると無視されます。どちらも指定しない場合は、Adamのプリセットが使われます。Voice ChangerはSpeech to Speechに、音声表現を調整するパラメーター(stability、similarityBoost、styleExaggeration、useSpeakerBoost)を加えたものです。WAV出力に対応しているのはTTSメンバーだけです。それ以外のoutputFormatはMP3またはOpusで、DubbingとVoice Isolatorにはありません。seedを指定すると再現性を高められますが、Sound Effects 2、2つのDubbingメンバー、Voice Isolatorは例外です。コストはコンテンツ量に応じて変わります。TTSではtext(作成時点で40,000文字)、Music v2ではdurationSeconds、Advancedではsections、吹き替えと音声変換の各メンバーではfileまたはaudioが基準です。そのため、長時間のジョブやメンバー間の比較ではdry_runを使ってください。
音声:v3ではタグ、それ以外ではパラメーター
Eleven v3は、テキスト内のインライン音声タグ([whispers]、[excited]、[sighs])を読み取り、70以上の言語で、場面に応じて音声表現を調整します。また、複数話者の対話にも対応しています。Multilingual 2とTurbo 2.5はタグを読み取りません。これらでは、stability、styleExaggeration、speed(0.7~1.2)で音声表現を調整し、languageCode(ISO 639-1)で言語を指定します。このフィールドはv3にはありません。Turboは表現力と引き換えにコストを抑えられ、作成時点では1回の実行あたり、他の2つのメンバーのおよそ半分のコストです。
音楽:1つのプロンプトか、30のセクションか
Music v2では、1つのprompt(ムード、ジャンル、楽器、テンポ)、durationSeconds(作成時に3~600秒、料金に影響します)、およびボーカルを抑制するforceInstrumentalを指定します。文章で依頼しても、ボーカルを確実に抑制できるとは限りません。Music Advanced v2ではsectionsが必須で、作成時に最大30個の順序付きセグメントを指定できます。各セグメントには、text、個別のdurationSeconds(3~120秒)、positiveStylesとnegativeStyles(それぞれ最大10個)、およびcontextAdherenceを指定します(値を高くするとセグメントが隣接するセグメントに沿い、低くすると自由度が高まります)。セクションの記法では、角括弧でラベルを付け([Verse]、[Chorus])、波括弧で指示を記述し({soft piano intro})、プレーンテキストは歌詞として歌われます。Advancedにはインストゥルメンタルのフラグがないため、プレーンテキストはすべて歌われます。どちらの音楽メンバーにもnumOutputsはありません。1回の実行で1つの楽曲が生成され、歌詞の歌われ方は生成ごとに異なるため、複数のテイクを得るには、異なるseed値を指定して複数の実行を並行させます。それぞれの料金は個別に、再生時間に応じて計算されます。これはバッチフィールドを使う場合と同等の料金ですが、実際の境界を保った別々のファイルが返されます。1回の実行で2つのテイクを得ようと、[Verse]ブロックを2つ指定しても、分割点のない1つのファイルが返されます。
ダビングで置き換わるのは音声で、唇の動きではありません
どちらのDubbingメンバーでも、音声または動画のfileと、必須のtargetLangを指定します。出力は入力と同じ種類になり、動画を入力するとダビング済み動画が返されます。どちらも唇の動きを再アニメーション化しません。入力言語の自動検出の指定方法は異なります。v2ではsourceLang: "auto"、古いメンバーでは空文字列を指定します。翻訳中も名前、ブランド、専門用語をそのまま保持するkeytermsが必要ならv2を選びます。numSpeakers(0で自動検出、最大10)、dropBackgroundAudio、disableVoiceCloning、高解像度動画のhighestResolutionが必要なら、古いDubbingを選びます。料金は数倍異なるため、どちらを使う場合もdry_runで見積もってください。対照的に、Speech to Speech、Voice Changer、Voice Isolatorは、カタログの説明にかかわらずaudioのみを受け取ります。クリップの場合は、model_scenario-audio-extractで音声トラックを取り出してメンバーを実行し、その後model_scenario-compose-videoで結果をクリップに重ねます。クリップは動画レイヤーとして指定し、mute: trueにします(IDは固定です。それぞれの操作に対するScenarioの決定論的な単一ツールなので、検索しても同じIDを特定し直すだけです)。同じコンポジターを使って、Music v2の音楽を動画の下に重ねることもできます。レイヤーの仕様はscenario-video-assemblyを参照してください。
実例:予告編をスペイン語にダビングする
target="models"、query="elevenlabs dubbing"、public=trueを指定してsearchします。非推奨ではない最新の検索結果を優先します。例:model_elevenlabs-dubbing-v2(作成時点で有効な検索結果です。セッションごとに再検索してください)。- そのIDを指定して
model_schema_getを実行し、何より先にフィールドとデフォルト値を確認します。 - 予告編動画を
upload_assetします(scenarioスキルを参照)。アセットIDが返されます。 - その
model_id、dry_run=true、および正確なparameters={"file": "asset_x", "targetLang": "es", "keyterms": ["Aetherfall", "Kestrel Squad"]}を指定してmodel_runを実行します。料金はファイルに基づくため、入力ごとに見積もり直してください。 wait=falseを指定してmodel_runを再実行し、返されたジョブIDを使ってjobs_waitを実行します。タイムアウトした場合はpending_job_idsを指定して再度呼び出し、2回目のmodel_runは決して実行しないでください。- 入力と同じ動画である結果に対して
asset_displayを実行し、キーワードが保持されていることを確認します。保存する際はformatを指定せずにasset_downloadを実行します。
よくある間違い
publicVoiceをvoiceIdの隣に設定し、それが適用されると期待する:voiceIdが設定されている場合は、常にそちらが優先されます。- Multilingual 2 または Turbo 2.5 でインラインタグを使う:その文法は Eleven v3 のものであり、ほかのモデルではタグが読み上げられることがあります。
- Music v2 のプロンプトに「instrumental」と書き、
forceInstrumentalを設定しない:Music Advanced にはフラグがなく、通常のセクションテキストは常に歌われます。 - Dubbing でリップシンクを期待する:トラックは変わりますが、映像は変わりません。
- 音楽メンバーで
numOutputsを使おうとする、またはseedを変えずに異なるテイクを期待して長い生成を繰り返す:同じシードと設定では、同じ音楽が再現されます。 - あるメンバーの上限を別のメンバーにも当てはめる:40,000 文字、600 秒、30 セクション、5 分の入力音声は、それぞれあるレーンでは正しく、次のレーンでは当てはまりません。