mcpField
E
elevenlabs-tts

elevenlabs-tts

github.com/inference-sh创意与媒体790823 次安装2 周前更新
代码仓库

关于 elevenlabs-tts

通过 inference.sh CLI 调用多种 ElevenLabs 模型,将文本转换为语音,适用于内容创作者和语音应用开发者。提供多种声音、语音调节、多人对话及实时流式生成选项。

主要功能

  1. 01多种模型生成语音
  2. 02选择或自定义声音
  3. 03调节语音特征
  4. 04多人对话合成
  5. 05实时流式语音生成

适用场景

  1. 01制作产品演示和解说配音
  2. 02生成有声书旁白
  3. 03制作多语言课程讲解
  4. 04实时朗读 LLM 输出

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/inference-sh/skills --skill elevenlabs-tts

安装后在 Claude Code 中输入/elevenlabs-tts确认已加载。

详细介绍

安装 belt CLI 技能: npx skills add belt-sh/cli

ElevenLabs 文本转语音

通过 inference.sh CLI,使用 22 种以上的声音生成高品质语音。每个 ElevenLabs 模型都是独立的应用,价格相同。

ElevenLabs TTS

快速开始

需要 inference.sh CLI(belt)。安装说明

belt login

# Generate speech with Eleven v4
belt app run elevenlabs/eleven-v4 --input '{"text": "Hello, welcome to our product demo.", "voice": "aria"}'

结果中包含生成文件的 audio URL。

选择应用

应用模型适用场景文本上限每 1K 字符价格
elevenlabs/eleven-v4Eleven v4最新、表现力最强;支持 90 多种语言;支持音频标签10,000$0.08
elevenlabs/eleven-v4-turboEleven v4 Turbo延迟最低的 v4;实时语音 Agent10,000$0.04
elevenlabs/eleven-v3Eleven v3上一代模型;支持 70 多种语言;支持音频标签5,000$0.08
elevenlabs/eleven-multilingual-v2Eleven Multilingual v2稳定的长篇旁白10,000$0.08
elevenlabs/eleven-flash-v2-5Eleven Flash v2.5速度最快、价格最低;适合长文本和高用量40,000$0.04
  • 每个应用都支持 run:输入完整文本,输出音频文件。
  • 两个 v4 应用还支持 realtime:流式输入文本,并在撰写过程中流式返回语音(见实时语音)。
  • elevenlabs/eleven-v4 和 elevenlabs/eleven-v3 还支持 dialogue:一次生成多个声音(见对话)。
  • 使用 belt app pricing elevenlabs/eleven-v4 查看当前价格。

elevenlabs/tts 是较旧的应用,需要将模型作为输入。它仍然可用;建议使用上面的按模型划分的应用。

声音库

女性声音
声音风格
aria美式,口语化
alice英式,自信
bella美式,温暖
jessica美式,富有表现力
laura美式,专业
lily英式,柔和
sarah美式,友好
男性声音
声音风格
george英式,权威
adam美式,低沉
bill美式,成熟
brian美式,口语化
callum跨大西洋口音,强烈
charlie澳大利亚式,自然
chris美式,随意
daniel英式,威严
eric美式,友好
harry美式,年轻
liam美式,清晰流畅
matilda美式,温暖
river美式,自信
roger美式,权威
will美式,明快

示例

基础语音
belt app run elevenlabs/eleven-v4 --input '{"text": "Welcome to our quarterly earnings presentation.", "voice": "george"}'
音频标签(v4 和 v3)

方括号中的标签会以相应方式演绎,而不会被朗读出来。这些标签是自由格式的指示,用于指定情绪、表达方式、口音和声音效果。

belt app run elevenlabs/eleven-v4 --input '{
  "text": "[excited] We did it! [whispers] Nobody saw this coming. [laughs] What a day.",
  "voice": "jessica"
}'

常见标签:[laughs]、[whispers]、[sighs]、[excited]、[sad]、[shouts]、[slow]、[fast]。其他模型会把标签朗读出来,因此请勿在这些模型中使用。

选择模型
# Long narration, stable delivery
belt app run elevenlabs/eleven-multilingual-v2 --input '{
  "text": "Chapter one. It was a quiet morning in the harbour town.",
  "voice": "daniel"
}'

# High volume at the lowest price
belt app run elevenlabs/eleven-flash-v2-5 --input '{
  "text": "Your order has shipped and will arrive on Thursday.",
  "voice": "sarah"
}'
声音调节
belt app run elevenlabs/eleven-v3 --input '{
  "text": "Fine-tune the voice characteristics for your use case.",
  "voice": "bella",
  "stability": 0.3,
  "similarity_boost": 0.9,
  "style": 0.4
}'
参数范围效果应用
stability0-1值越高,声音越稳定;值越低,表现力越强所有
similarity_boost0-1值越高,越接近原声音色所有
style0-1值越高,风格表现越夸张v3、Multilingual v2、Flash v2.5
use_speaker_boosttrue/false提升说话人声音的清晰度v3、Multilingual v2、Flash v2.5

Eleven v4 和 v4 Turbo 仅有两个设置项:stability 和 similarity_boost。使用音频标签塑造表达方式。

自定义声音

传入 voice_id,即可使用克隆或设计的声音(来自 elevenlabs/voice-clone 或 elevenlabs/voice-design)。该参数会覆盖 voice。

belt app run elevenlabs/eleven-v4 --input '{"text": "This is my own voice.", "voice_id": "YOUR_VOICE_ID"}'
输出格式
# High-quality MP3
belt app run elevenlabs/eleven-v4 --input '{
  "text": "High quality audio output.",
  "voice": "daniel",
  "output_format": "mp3_44100_192"
}'
格式描述
mp3_44100_12844.1kHz、128kbps 的 MP3(默认)
mp3_44100_19244.1kHz、192kbps 的 MP3
pcm_1600016kHz 的原始 PCM
pcm_2205022.05kHz 的原始 PCM
pcm_2400024kHz 的原始 PCM
pcm_4410044.1kHz 的原始 PCM
其他语言

请用你希望朗读的语言撰写文本。

# Spanish
belt app run elevenlabs/eleven-v4 --input '{
  "text": "Hola, bienvenidos a nuestra presentación.",
  "voice": "aria"
}'

# French
belt app run elevenlabs/eleven-v4 --input '{
  "text": "Bonjour, bienvenue à notre démonstration.",
  "voice": "alice"
}'

对话

dialogue 会一气呵成地朗读一段对话,并返回一个文件。每一行都使用自己的声音。

belt app run elevenlabs/eleven-v4 --function dialogue --input '{
  "segments": [
    {"text": "[excited] Did you hear? The release went out last night.", "voice": "jessica"},
    {"text": "[surprised] Already? I thought that was next week.", "voice": "george"},
    {"text": "[laughs] Nope. Everything shipped.", "voice": "jessica"}
  ]
}'

最多可使用 10 种不同的声音。单段对话控制在约 2,000 个字符以内,并将较长的脚本拆分成多个场景。费用按应用的字符单价计算,统计所有行的字符数。

实时语音

elevenlabs/eleven-v4-turbo 和 elevenlabs/eleven-v4 上的 realtime 是一项实时功能:你可以在文本生成时流式发送文本(例如大模型的 token),并在文本仍在生成时收到语音。它通过 socket 运行,因此请从 SDK 或应用页面调用,而不要使用 belt app run。

# pip install "inferencesh[async]"
import asyncio
from inferencesh import async_inference

async def main():
    client = async_inference(api_key="...")
    task, session = await client.live({
        "app": "elevenlabs/eleven-v4-turbo",
        "function": "realtime",
        "input": {"voice": "george"},
    })

    async def speak():
        for piece in ["Hello there. ", "This is spoken ", "while it is being written. "]:
            await session.send({"events": {"type": "text", "text": piece}})
        await session.send({"events": {"type": "end"}})   # finish speaking, then end

    asyncio.create_task(speak())
    async for frame in session:
        if isinstance(frame, bytes):
            play(frame)            # raw PCM, 16-bit mono, 24 kHz
        else:
            print(frame)           # {"characters": 54, "seconds": 3.9}

asyncio.run(main())

发送的内容格式为 {"events": {...}}:

事件含义
{"type": "text", "text": "..."}要朗读的文本。文本到达时分段发送。
{"type": "flush"}无需等待更多内容,立即朗读目前已发送的内容
{"type": "end"}不再发送文本:完成朗读,然后结束会话
  • 收到约 40 个字符和 8 个单词后,语音便会开始。对于较短的句子,请发送 flush。
  • 关闭 socket 会立即结束会话。如果想先听完剩余内容,请发送 end。
  • 会话打开时会设置声音(voice 或 voice_id)、stability 和 language_code。
  • 如果在 idle_minutes(默认值为 2)指定的时间内没有文本,会话会自动结束。
  • 费用按发送的字符数,依据应用的字符单价计算。

语音 + 视频工作流

# 1. Generate voiceover
belt app run elevenlabs/eleven-v4 --input '{
  "text": "Introducing the future of AI-powered content creation.",
  "voice": "george"
}' > voiceover.json

# 2. Create talking head video
belt app run bytedance/omnihuman-1-5 --input '{
  "image": "https://portrait.jpg",
  "audio": "<audio-url-from-step-1>"
}'

使用场景

  • 配音:产品演示、讲解视频、广告
  • 有声读物:使用一致的声音进行长篇朗读
  • 播客:采用自然表达方式的 AI 主持人
  • 在线学习:多种语言的课程旁白
  • 无障碍访问:高质量的屏幕阅读器内容
  • IVR:专业的电话系统消息
  • 语音 Agent:使用 realtime 在大模型回答生成时同步朗读
  • 视频旁白:纪录片和社交媒体内容

相关技能

# ElevenLabs multi-speaker dialogue
npx skills add inference-sh/skills@elevenlabs-dialogue

# ElevenLabs voice changer
npx skills add inference-sh/skills@elevenlabs-voice-changer

# ElevenLabs sound effects
npx skills add inference-sh/skills@elevenlabs-sound-effects

# All TTS models (Kokoro, DIA, Chatterbox, Inworld TTS, and more)
npx skills add inference-sh/skills@text-to-speech

# Full platform skill (all apps)
npx skills add inference-sh/skills@infsh-cli

浏览所有音频应用:belt app list --category audio

评论

支持 Markdown