elevenlabs
ElevenLabs APIを活用し、テキストを自然な音声に変換したり、声色を再現したり、音声対応アプリを開発するなど、ElevenLabsの音声合成技術を様々な用途で活用するSkill。
📜 元の英語説明(参考)
Generate realistic speech with the ElevenLabs API. Use when a user asks to convert text to speech, clone voices, build voice-enabled apps, stream audio, or integrate ElevenLabs voice synthesis into applications.
🇯🇵 日本人クリエイター向け解説
ElevenLabs APIを活用し、テキストを自然な音声に変換したり、声色を再現したり、音声対応アプリを開発するなど、ElevenLabsの音声合成技術を様々な用途で活用するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o elevenlabs.zip https://jpskill.com/download/14861.zip && unzip -o elevenlabs.zip && rm elevenlabs.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/14861.zip -OutFile "$d\elevenlabs.zip"; Expand-Archive "$d\elevenlabs.zip" -DestinationPath $d -Force; ri "$d\elevenlabs.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
elevenlabs.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
elevenlabsフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
ElevenLabs — AI音声合成とクローニング
概要
あなたはElevenLabsのエキスパートです。ElevenLabsは、高品質なテキスト読み上げ、音声クローニング、会話型AIのためのAI音声プラットフォームです。開発者が、自然な音声、カスタム音声作成、多言語サポート、音声エージェント、オーディオブック、ポッドキャスト、アクセシビリティ機能のためのリアルタイムストリーミングTTSを備えた音声対応アプリケーションを構築するのを支援します。
指示
テキスト読み上げ
# 基本的なTTS — テキストからオーディオを生成
from elevenlabs import ElevenLabs
client = ElevenLabs(api_key=os.environ["ELEVENLABS_API_KEY"])
# オーディオを生成して保存
audio = client.text_to_speech.convert(
voice_id="pNInz6obpgDQGcFmaJgB", # "Rachel" — 温かく、プロフェッショナル
text="Bright Smile Dentalへようこそ。今日はどのようなご用件でしょうか?",
model_id="eleven_turbo_v2_5", # 低レイテンシ向けに最適化 (~200ms)
voice_settings={
"stability": 0.6, # 低いほど表現豊か、高いほど一貫性がある
"similarity_boost": 0.8, # 元の音声にどれだけ忠実に一致させるか
"style": 0.3, # スタイルの誇張 (0-1)
"use_speaker_boost": True, # 明瞭度を高める
},
)
# ファイルに保存
with open("greeting.mp3", "wb") as f:
for chunk in audio:
f.write(chunk)
# ストリーミングTTS — リアルタイムアプリケーション向け
audio_stream = client.text_to_speech.convert_as_stream(
voice_id="pNInz6obpgDQGcFmaJgB",
text="来週火曜日の空き状況を確認させてください。",
model_id="eleven_turbo_v2_5",
output_format="pcm_24000", # WebRTC/LiveKit用の生のPCM
)
for chunk in audio_stream:
send_to_audio_output(chunk) # スピーカーに直接ストリーム
音声クローニング
# インスタント音声クローン — 単一のオーディオサンプルから
voice = client.voices.add(
name="Dr. Smith",
files=[open("dr_smith_sample.mp3", "rb")],
description="医療コンテキスト向けの穏やかで権威のある男性の声",
labels={"use_case": "voice_agent", "language": "en"},
)
print(f"クローンされた音声ID: {voice.voice_id}")
# プロフェッショナル音声クローン (高品質、同意が必要)
# 最良の結果を得るには、30分以上のクリーンなオーディオが必要
会話型AIエージェント
# ElevenLabs会話型AI — フルマネージド音声エージェント
from elevenlabs import ConversationalAI
agent = ConversationalAI(
api_key=os.environ["ELEVENLABS_API_KEY"],
agent_id="your-agent-id", # ElevenLabsダッシュボードで作成
)
# リアルタイム会話のためのWebSocket接続
async def handle_call(websocket):
async for audio_chunk in websocket:
# 発信者のオーディオをElevenLabsに送信
response = await agent.process_audio(audio_chunk)
# AI応答オーディオを発信者に返送
await websocket.send(response.audio)
JavaScript / React
// ブラウザベースのTTS
import { ElevenLabsClient } from "elevenlabs";
const client = new ElevenLabsClient({ apiKey: process.env.ELEVENLABS_KEY });
// ブラウザでオーディオをストリーム
const response = await client.textToSpeech.convertAsStream(voiceId, {
text: "こんにちは!何かお手伝いできることはありますか?",
model_id: "eleven_turbo_v2_5",
output_format: "mp3_44100_128",
});
// Web Audio APIを使用してオーディオを再生
const audioContext = new AudioContext();
const reader = response.getReader();
// ... チャンクをデコードして再生
利用可能なモデル
| Model | Latency | Quality | Best For |
|---|---|---|---|
eleven_turbo_v2_5 |
~200ms | High | 音声エージェント、リアルタイムアプリ |
eleven_multilingual_v2 |
~400ms | Highest | 多言語、オーディオブック |
eleven_english_v1 |
~300ms | Good | 英語のみ、コスト重視 |
インストール
pip install elevenlabs # Python
npm install elevenlabs # Node.js
例
例1: ユーザーがelevenlabsの設定を依頼
User: "プロジェクトのためにelevenlabsを設定するのを手伝ってください"
エージェントは以下を行う必要があります:
- システム要件と前提条件を確認する
- elevenlabsをインストールまたは構成する
- 初期プロジェクト構造を設定する
- セットアップが正しく動作することを確認する
例2: ユーザーがelevenlabsで機能を構築することを依頼
User: "elevenlabsを使用してダッシュボードを作成してください"
エージェントは以下を行う必要があります:
- コンポーネントまたは構成をスキャフォールドする
- 適切なデータソースに接続する
- 要求された機能を実装する
- 出力をテストおよび検証する
ガイドライン
- 音声エージェント用のターボモデル — リアルタイム会話には
eleven_turbo_v2_5を使用してください。200msのレイテンシは瞬時に感じられます。 - リアルタイム用のストリーミング — 音声エージェントには
convertの代わりにconvert_as_streamを使用してください。最初のオーディオチャンクは約200msで到着します。 - 音声設定の調整 — 表現力豊かなナレーションには低い安定性(0.3-0.5)を、一貫性のある音声エージェントには高い安定性(0.7-0.9)を使用してください。
- WebRTC用のPCM出力 — WebRTC/LiveKitにフィードする場合は、
pcm_24000またはpcm_16000出力形式を使用してください。デコードのオーバーヘッドがありません。 - 音声ライブラリ — クローニングする前に、ElevenLabsの音声ライブラリ(1000以上の音声)を参照してください。多くのプロフェッショナルな音声がすでに利用可能です。
- 発音辞書 — 医療用語、ブランド名、技術用語のカスタム発音ルールをアップロードしてください。
- 文字数課金 — ElevenLabsは文字数ごとに課金します。一般的なフレーズや挨拶をキャッシュして、コストを削減してください。
- SSMLのような制御 — 自然な一時停止のために、テキストに
<break time="0.5s"/>を使用してください。電話メニューオプションに役立ちます。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
ElevenLabs — AI Voice Synthesis & Cloning
Overview
You are an expert in ElevenLabs, the AI voice platform for high-quality text-to-speech, voice cloning, and conversational AI. You help developers build voice-enabled applications with natural-sounding speech, custom voice creation, multilingual support, and real-time streaming TTS for voice agents, audiobooks, podcasts, and accessibility features.
Instructions
Text-to-Speech
# Basic TTS — generate audio from text
from elevenlabs import ElevenLabs
client = ElevenLabs(api_key=os.environ["ELEVENLABS_API_KEY"])
# Generate and save audio
audio = client.text_to_speech.convert(
voice_id="pNInz6obpgDQGcFmaJgB", # "Rachel" — warm, professional
text="Welcome to Bright Smile Dental. How can I help you today?",
model_id="eleven_turbo_v2_5", # Optimized for low latency (~200ms)
voice_settings={
"stability": 0.6, # Lower = more expressive, higher = more consistent
"similarity_boost": 0.8, # How closely to match the original voice
"style": 0.3, # Style exaggeration (0-1)
"use_speaker_boost": True, # Enhance clarity
},
)
# Save to file
with open("greeting.mp3", "wb") as f:
for chunk in audio:
f.write(chunk)
# Streaming TTS — for real-time applications
audio_stream = client.text_to_speech.convert_as_stream(
voice_id="pNInz6obpgDQGcFmaJgB",
text="Let me check our available appointments for next Tuesday.",
model_id="eleven_turbo_v2_5",
output_format="pcm_24000", # Raw PCM for WebRTC/LiveKit
)
for chunk in audio_stream:
send_to_audio_output(chunk) # Stream directly to speaker
Voice Cloning
# Instant voice clone — from a single audio sample
voice = client.voices.add(
name="Dr. Smith",
files=[open("dr_smith_sample.mp3", "rb")],
description="Calm, authoritative male voice for medical context",
labels={"use_case": "voice_agent", "language": "en"},
)
print(f"Cloned voice ID: {voice.voice_id}")
# Professional voice clone (higher quality, requires consent)
# Needs 30+ minutes of clean audio for best results
Conversational AI Agent
# ElevenLabs Conversational AI — fully managed voice agent
from elevenlabs import ConversationalAI
agent = ConversationalAI(
api_key=os.environ["ELEVENLABS_API_KEY"],
agent_id="your-agent-id", # Created in ElevenLabs dashboard
)
# WebSocket connection for real-time conversation
async def handle_call(websocket):
async for audio_chunk in websocket:
# Send caller audio to ElevenLabs
response = await agent.process_audio(audio_chunk)
# Send AI response audio back to caller
await websocket.send(response.audio)
JavaScript / React
// Browser-based TTS
import { ElevenLabsClient } from "elevenlabs";
const client = new ElevenLabsClient({ apiKey: process.env.ELEVENLABS_KEY });
// Stream audio in browser
const response = await client.textToSpeech.convertAsStream(voiceId, {
text: "Hello! How can I assist you?",
model_id: "eleven_turbo_v2_5",
output_format: "mp3_44100_128",
});
// Play audio using Web Audio API
const audioContext = new AudioContext();
const reader = response.getReader();
// ... decode and play chunks
Available Models
| Model | Latency | Quality | Best For |
|---|---|---|---|
eleven_turbo_v2_5 |
~200ms | High | Voice agents, real-time apps |
eleven_multilingual_v2 |
~400ms | Highest | Multilingual, audiobooks |
eleven_english_v1 |
~300ms | Good | English-only, cost-sensitive |
Installation
pip install elevenlabs # Python
npm install elevenlabs # Node.js
Examples
Example 1: User asks to set up elevenlabs
User: "Help me set up elevenlabs for my project"
The agent should:
- Check system requirements and prerequisites
- Install or configure elevenlabs
- Set up initial project structure
- Verify the setup works correctly
Example 2: User asks to build a feature with elevenlabs
User: "Create a dashboard using elevenlabs"
The agent should:
- Scaffold the component or configuration
- Connect to the appropriate data source
- Implement the requested feature
- Test and validate the output
Guidelines
- Turbo model for voice agents — Use
eleven_turbo_v2_5for real-time conversations; 200ms latency feels instant - Streaming for real-time — Use
convert_as_streaminstead ofconvertfor voice agents; first audio chunk arrives in ~200ms - Voice settings tuning — Lower stability (0.3-0.5) for expressive narration; higher (0.7-0.9) for consistent voice agents
- PCM output for WebRTC — Use
pcm_24000orpcm_16000output format when feeding into WebRTC/LiveKit; no decoding overhead - Voice library — Browse ElevenLabs' voice library (1000+ voices) before cloning; many professional voices are already available
- Pronunciation dictionary — Upload custom pronunciation rules for medical terms, brand names, and technical jargon
- Character count billing — ElevenLabs bills per character; cache common phrases and greetings to reduce costs
- SSML-like control — Use
<break time="0.5s"/>in text for natural pauses; helps with phone menu options