text-to-speech
テキストをElevenLabsの音声AIを使って音声に変換します。音声の生成、ナレーション作成、音声アプリの開発、または70以上の言語での音声合成が必要な際に活用できます。
description の原文を見る
Convert text to speech using ElevenLabs voice AI. Use when generating audio from text, creating voiceovers, building voice apps, or synthesizing speech in 70+ languages.
SKILL.md 本文
ElevenLabs Text-to-Speech
テキストから自然な音声を生成します。70以上の言語に対応し、品質とレイテンシのトレードオフのための複数のモデルをサポートしています。
セットアップ:
インストールガイドを参照してください。JavaScript の場合は@elevenlabs/*パッケージのみを使用してください。
クイックスタート
Python
from elevenlabs import ElevenLabs
client = ElevenLabs()
audio = client.text_to_speech.convert(
text="Hello, welcome to ElevenLabs!",
voice_id="JBFqnCBsd6RMkjVDRZzb", # George
model_id="eleven_multilingual_v2"
)
with open("output.mp3", "wb") as f:
for chunk in audio:
f.write(chunk)
JavaScript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import { createWriteStream } from "fs";
const client = new ElevenLabsClient();
const audio = await client.textToSpeech.convert("JBFqnCBsd6RMkjVDRZzb", {
text: "Hello, welcome to ElevenLabs!",
modelId: "eleven_multilingual_v2",
});
audio.pipe(createWriteStream("output.mp3"));
cURL
curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/JBFqnCBsd6RMkjVDRZzb" \
-H "xi-api-key: $ELEVENLABS_API_KEY" -H "Content-Type: application/json" \
-d '{"text": "Hello!", "model_id": "eleven_multilingual_v2"}' --output output.mp3
モデル
| モデルID | 言語数 | レイテンシ | 最適用途 |
|---|---|---|---|
eleven_v3 | 70+ | 標準 | 最高品質、感情表現範囲が広い |
eleven_multilingual_v2 | 29 | 標準 | 高品質、長いコンテンツ向け |
eleven_flash_v2_5 | 32 | 約75ms | 超低レイテンシ、リアルタイム対応 |
eleven_flash_v2 | 英語 | 約75ms | 英語のみ、最速 |
eleven_turbo_v2_5 | 32 | 約250~300ms | 品質と速度のバランス型 |
eleven_turbo_v2 | 英語 | 約250~300ms | 英語のみ、バランス型 |
ボイスID
事前に作成されたボイスを使用するか、ダッシュボードでカスタムボイスを作成できます。
人気のボイス:
JBFqnCBsd6RMkjVDRZzb- George(男性、ナレーション向け)EXAVITQu4vr4xnSDxMaL- Sarah(女性、柔らかい声)onwK4e9ZLuTAKqWW03F9- Daniel(男性、権威的)XB0fDUnXU5powFXDhCwa- Charlotte(女性、会話的)
voices = client.voices.get_all()
for voice in voices.voices:
print(f"{voice.voice_id}: {voice.name}")
ボイス設定
ボイスの音声を細かく調整します:
- Stability: ボイスの一貫性。低い値 = より感情的な範囲と変動があるが不安定に聞こえることもある。高い値 = 安定した予測可能な読み上げ。
- Similarity boost: 元のボイスサンプルとの一致度。高い値 = 元のボイスに近いが、オーディオアーティファクトが増幅される可能性がある。
- Style: ボイスの独特のスタイル特性を強調します(v2以上のモデルのみで機能)。
- Speaker boost: クリアさとボイスの類似性を強化するポストプロセッシング。
from elevenlabs import VoiceSettings
audio = client.text_to_speech.convert(
text="Customize my voice settings.",
voice_id="JBFqnCBsd6RMkjVDRZzb",
voice_settings=VoiceSettings(
stability=0.5,
similarity_boost=0.75,
style=0.5,
speed=1.0, # 0.25 to 4.0 (default 1.0)
use_speaker_boost=True
)
)
言語強制
発音の特定の言語を強制します:
audio = client.text_to_speech.convert(
text="Bonjour, comment allez-vous?",
voice_id="JBFqnCBsd6RMkjVDRZzb",
model_id="eleven_multilingual_v2",
language_code="fr" # ISO 639-1 code
)
テキスト正規化
数字、日付、略語が音声にどのように変換されるかを制御します。例えば、「01/15/2026」は「January fifteenth, twenty twenty-six」となります:
"auto"(デフォルト): モデルが文脈に基づいて判断"on": 常に正規化する(自然な音声が必要な場合に使用)"off": リテラルに読み上げる(「ゼロ ワン スラッシュ ワン ファイブ...」のように読み上げたい場合に使用)
audio = client.text_to_speech.convert(
text="Call 1-800-555-0123 on 01/15/2026",
voice_id="JBFqnCBsd6RMkjVDRZzb",
apply_text_normalization="on"
)
リクエストステッチング
複数のリクエストで長いオーディオを生成する場合、境界部分でポップノイズ、不自然な一時停止、または音声の変化が生じることがあります。リクエストステッチングは、各リクエストに前後の内容を知らせることで解決します:
# 最初のリクエスト
audio1 = client.text_to_speech.convert(
text="This is the first part.",
voice_id="JBFqnCBsd6RMkjVDRZzb",
next_text="And this continues the story."
)
# 前のコンテキストを使用する2番目のリクエスト
audio2 = client.text_to_speech.convert(
text="And this continues the story.",
voice_id="JBFqnCBsd6RMkjVDRZzb",
previous_text="This is the first part."
)
出力フォーマット
| フォーマット | 説明 |
|---|---|
mp3_44100_128 | MP3 44.1kHz 128kbps(デフォルト)- 圧縮、ウェブ/アプリ向け |
mp3_44100_192 | MP3 44.1kHz 192kbps(Creator+) - 高品質圧縮 |
mp3_44100_64 | MP3 44.1kHz 64kbps - 低品質、小さいファイルサイズ |
mp3_22050_32 | MP3 22.05kHz 32kbps - 最小MP3ファイル |
pcm_16000 | Raw PCM 16kHz - リアルタイム処理向け |
pcm_22050 | Raw PCM 22.05kHz |
pcm_24000 | Raw PCM 24kHz - ストリーミング向け良好なバランス |
pcm_44100 | Raw PCM 44.1kHz(Pro+) - CDレベルの品質 |
pcm_48000 | Raw PCM 48kHz(Pro+) - 最高品質 |
ulaw_8000 | μ-law 8kHz - 電話システムの標準(Twilio、電話) |
alaw_8000 | A-law 8kHz - 電話(μ-lawの代替) |
opus_48000_64 | Opus 48kHz 64kbps - 効率的なストリーミングコーデック |
wav_44100 | WAV 44.1kHz - ヘッダ付き非圧縮 |
ストリーミング
リアルタイムアプリケーション向けに、stream メソッドを使用します(生成されたオーディオをチャンクごとに返します):
audio_stream = client.text_to_speech.stream(
text="This text will be streamed as audio.",
voice_id="JBFqnCBsd6RMkjVDRZzb",
model_id="eleven_flash_v2_5" # 超低レイテンシ
)
for chunk in audio_stream:
play_audio(chunk)
WebSocketストリーミングについては references/streaming.md を参照してください。
エラーハンドリング
try:
audio = client.text_to_speech.convert(
text="Generate speech",
voice_id="invalid-voice-id"
)
except Exception as e:
print(f"API error: {e}")
一般的なエラー:
- 401: 無効なAPIキー
- 422: 無効なパラメータ(voice_id、model_idを確認)
- 429: レート制限を超過
コスト追跡
レスポンスヘッダ(x-character-count、request-id)を使用して文字数使用量を監視します:
response = client.text_to_speech.convert.with_raw_response(
text="Hello!", voice_id="JBFqnCBsd6RMkjVDRZzb", model_id="eleven_multilingual_v2"
)
audio = response.parse()
print(f"Characters used: {response.headers.get('x-character-count')}")
参考資料
インストールガイドオーディオストリーミングボイス設定
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- elevenlabs
- リポジトリ
- elevenlabs/skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/elevenlabs/skills / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。