🎙️ VideoAgent Audio Studio
使用するタイミング: ユーザーが音声生成、テキストのナレーション、ボイスオーバー、作曲、効果音の作成を依頼したとき。
VideoAgent Audio Studio はスマートな音声ディスパッチャーです。リクエストを解析し、最適なモデル(ElevenLabs は音声と音楽、fal.ai は高速 SFX)にルーティングし、すぐに使える音声 URL を返します。
クイックリファレンス
| リクエストタイプ | 最適モデル | レイテンシ |
|---|---|---|
| テキスト読み上げ / ボイスオーバー | elevenlabs-tts-v3 | ~3秒 |
| 低レイテンシ TTS(リアルタイム) | elevenlabs-tts-turbo | <1秒 |
| 背景音楽 | cassetteai-music | ~15秒 |
| 効果音 | elevenlabs-sfx | ~5秒 |
| 音声クローン | elevenlabs-voice-clone | ~10秒 |
使い方
1. AudioMind サーバーを起動する(セッションごとに1回)
bash {baseDir}/tools/start_server.sh
これにより、ElevenLabs MCP サーバーがポート 8124 で起動します。このスキルはすべての音声生成でこのサーバーを使用します。
2. リクエストをルーティングする
ユーザーのリクエストを解析し、MCP サーバーを介して適切なツールを呼び出します。
テキスト読み上げ(TTS)
ユーザーが「ナレーションして」「読み上げて」「言って」「ボイスオーバーを作成して」と依頼した場合:
MCP ツールを使用: text_to_speech
text: "<ナレーションするテキスト>"
voice_id: "JBFqnCBsd6RMkjVDRZzb" # デフォルト: "George" (プロフェッショナル、ニュートラル)
model_id: "eleven_multilingual_v2" # 低レイテンシが必要な場合は "eleven_turbo_v2_5" を使用
音楽生成
ユーザーが「作曲して」「背景音楽を作成して」「サウンドトラックを作って」と依頼した場合:
MCP ツールを使用: text_to_sound_effects (fal.ai 上の cassetteai-music を経由)
prompt: "<音楽の説明、例: 'アップビートなローファイヒップホップ、90秒'>"
duration_seconds: <再生時間>
効果音(SFX)
ユーザーが特定の音(例:「ドアのきしむ音」「窓に打ち付ける雨」)を依頼した場合:
MCP ツールを使用: text_to_sound_effects
text: "<音の説明>"
duration_seconds: <1~22>
音声クローン
ユーザーが音声サンプルを提供し、その声をクローンしたい場合:
MCP ツールを使用: voice_add
name: "<声の名前>"
files: ["<音声ファイルのURL>"]
会話例
ユーザー: 「このテキストを音声にして:私たちの製品発売へようこそ」
→ ルーティング: text_to_speech
text: "私たちの製品発売へようこそ"
voice_id: "JBFqnCBsd6RMkjVDRZzb"
model_id: "eleven_multilingual_v2"
🎙️ ボイスオーバー完了! こちらで聴く
ユーザー: 「ポッドキャスト用に60秒のリラックスできる背景音楽を生成して」
→ ルーティング: cassetteai-music (fal.ai)
prompt: "ポッドキャスト用のリラックスできるローファイ背景音楽、優しいピアノとソフトなビート、60秒"
duration_seconds: 60
🎵 背景音楽準備完了! こちらで聴く
ユーザー: 「SF スタイルのドアが開く効果音を生成して」
→ ルーティング: text_to_sound_effects
text: "油圧のシューという音とともにスライドして開く未来的な SF のドア"
duration_seconds: 3
セットアップ
必須
~/.openclaw/openclaw.json に ELEVENLABS_API_KEY を設定します:
{
"skills": {
"entries": {
"videoagent-audio-studio": {
"enabled": true,
"env": {
"ELEVENLABS_API_KEY": "あなたのElevenLabsキー"
}
}
}
}
}
キーは elevenlabs.io/app/settings/api-keys で取得できます。
オプション(fal.ai の音楽・SFX モデル用)
"FAL_KEY": "あなたのfalキー"
キーは fal.ai/dashboard/keys で取得できます。
プロキシのセルフホスティング
cli.js はデフォルトでホスト型プロキシに接続します。完全に制御したい場合や、vercel.app がブロックされている地域のユーザーにサービスを提供する必要がある場合は、proxy/ ディレクトリから独自のインスタンスをデプロイできます。
クイックデプロイ(Vercel)
cd proxy
npm install
vercel --prod
環境変数
Vercel プロジェクト(ダッシュボード → 設定 → 環境変数)で以下を設定します:
| 変数 | 必須用途 | 取得先 |
|---|---|---|
ELEVENLABS_API_KEY | TTS、SFX、音声クローン | elevenlabs.io/app/settings/api-keys |
FAL_KEY | 音楽生成 | fal.ai/dashboard/keys |
VALID_PRO_KEYS | (オプション)アクセス制限 | 許可するクライアントキーのカンマ区切りリスト |
cli.js をプロキシに向ける
export AUDIOMIND_PROXY_URL="https://your-domain.com/api/audio"
または ~/.openclaw/openclaw.json で設定します:
{
"skills": {
"entries": {
"videoagent-audio-studio": {
"env": {
"AUDIOMIND_PROXY_URL": "https://your-domain.com/api/audio"
}
}
}
}
}
カスタムドメイン(推奨)
ユーザーが中国本土にいる場合、vercel.app の DNS 問題を避けるために、Vercel ダッシュボード → 設定 → ドメインでカスタムドメインをバインドしてください。
モデルリファレンス
| モデル ID | タイプ | プロバイダー | 備考 |
|---|---|---|---|
eleven_multilingual_v2 | TTS | ElevenLabs | 最高品質、29言語対応 |
eleven_turbo_v2_5 | TTS | ElevenLabs | 超低レイテンシ、リアルタイムに最適 |
eleven_monolingual_v1 | TTS | ElevenLabs | 英語のみ、最速 |
cassetteai-music | 音楽 | fal.ai | 信頼性が高く高速な音楽生成 |
elevenlabs-sfx | SFX | ElevenLabs | 高品質効果音(最大22秒) |
elevenlabs-voice-clone | クローン | ElevenLabs | 短い音声サンプルから任意の声をクローン |
変更履歴
v3.0.0
- ルーティングテーブルの簡素化: メインリファレンスから不安定/オフラインのモデルを削除。確実に動作するモデルのみを表示するようになりました。
- 使用ケースのトリガーを明確化: 「使用するタイミング」セクションを追加し、エージェントが適切なタイミングでこのスキルを有効化できるようにしました。
- セットアップの統一: 開始に必要なのは
ELEVENLABS_API_KEYのみになりました。FAL_KEYはオプションです。 - ポーリングの複雑さを排除: 音楽生成はデフォルトで同期的に完了する
cassetteai-musicを使用するようになりました。
v2.1.0
- 長時間の音楽生成タスク向けに非同期ワークフローを追加。
- 音楽生成の安定した代替手段として
cassetteai-musicを追加。
v2.0.0
- ElevenLabs MCP サーバーアーキテクチャに移行。
- 音声クローン機能を追加。
v1.0.0
- TTS、音楽、SFX のルーティング機能を備えた初回リリース。