讲师中心 微信公众号
AI工具推荐 视频效率加速

Elevenlabs Toolkit

Polar Sponsor
爱发电 赞助
.NET 9.0

ElevenLabs语音API集成 — 语音合成、音效生成、音乐创作、语音转文字、声音隔离与流式传输。用于构建语音应用...

十一实验室工具包

功能概述

十一实验室工具包是一项面向实际任务的技能,主要用于通过 FastAPI 端点或独立的 Python 函数, 程序化访问所有 7 个十一实验室 API 能力;当使用此工具时;

核心要点

  • 当使用 : Gen 时使用 十一实验室。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

ElevenLabs 工具包

通过 FastAPI 接口或独立 Python 函数,以编程方式访问全部 7 项 ElevenLabs API 功能。

何时使用此工具包 / 何时不应使用此工具包

在以下场景中使用 ElevenLabs:

  • 为视频、演示文稿或内容生成高质量旁白音频(尤其推荐使用 Rachel 或其他保持一致的角色音色)
  • 构建需要实时流式语音输出的语音交互型应用
  • 对音频文件执行语音转文字(STT/Scribe)
  • 根据文本描述生成环境音效或背景音乐
  • 从嘈杂录音中分离出清晰的人声

请勿在以下场景中使用 ElevenLabs:

  • 您需要快速/低成本且对音质无要求的 TTS —— 请改用 本地 TTS(见下文)
  • 您处于离线状态,或无法获取 API 密钥
  • 您正在批量生成大量测试音频,且不希望消耗角色配额

ElevenLabs vs 本地 TTS(kokoro / chatterbox)

评估维度 ElevenLabs 本地 TTS(kokoro/chatterbox)
音色质量 ★★★★★ — 自然、富有表现力 ★★★ — 效果良好,但存在机械感
成本 按字符数扣除月度配额 免费、无限制
延迟 约 300–800ms 的 API 往返耗时 约 50–200ms 的本地推理耗时
音色一致性 命名音色(如 Rachel 等)长期稳定 取决于具体模型
离线可用性 ❌ 需联网 + API 密钥 ✅ 完全本地运行
适用场景 最终旁白、正式发布内容 草稿、测试、大批量任务

经验法则:凡面向终端用户展示/播放的内容,请使用 ElevenLabs;草稿、测试及高吞吐量任务,请使用本地 TTS。

功能列表

工具 接口路径 功能说明
音色列表 GET /api/voices 浏览所有可用音色及其元数据
TTS POST /api/voice/tts 批量文本转语音(支持任意音色、任意语言)
TTS 流式输出 WS /api/voice/stream 基于 WebSocket 的实时流式 TTS 输出
音效生成 POST /api/voice/sfx 根据文本提示生成环境音效
音乐生成 POST /api/voice/music 根据描述生成背景音乐
STT(Scribe) POST /api/voice/stt 带语言自动识别的音频转文字
人声分离 POST /api/voice/isolate 从含噪音频中提取纯净人声

已知音色 ID

以下为 OpenClaw 工作流中已验证可用的音色。请优先使用这些 ID,而非调用 API 获取完整列表:

音色 音色 ID 适用场景
Rachel 21m00Tcm4TlvDq8ikWAM 默认旁白音色 — 清晰、温暖、美式英语
Adam pNInz6obpgDQGcFmaJgB 男性旁白,权威语气
Domi AZnzlk1XvdvUeBnXmlld 充满活力、适合对话场景
Bella EXAVITQu4vr4xnSDxMaL 柔和、轻柔的旁白风格

所有旁白任务的默认音色:除非明确指定其他音色,否则一律使用 Rachel(21m00Tcm4TlvDq8ikWAM)。

如需通过 API 获取当前完整音色列表:

curl -s -H "xi-api-key: $ELEVENLABS_API_KEY" https://api.elevenlabs.io/v1/voices | python3 -m json.tool

快速上手

import httpx

BASE = "http://localhost:8000"  # 您的 FastAPI 应用地址
KEY = os.environ["ELEVENLABS_API_KEY"]

# 获取音色列表
voices = httpx.get(f"{BASE}/api/voices").json()

# 生成语音
audio = httpx.post(f"{BASE}/api/voice/tts", json={
    "text": "Hello world",
    "voice_id": voices[0]["voice_id"],
    "model_id": "eleven_multilingual_v2"
}).content  # 返回原始音频字节

# 生成音效
sfx = httpx.post(f"{BASE}/api/voice/sfx", json={
    "prompt": "ocean waves on a quiet beach at night"
}).content

音频输出格式

TTS 和 SFX 接口返回原始音频字节(非 base64 编码,也非 JSON 格式)。

# 正确:.content 即为字节流
audio_bytes = response.content  # 类型:bytes

# 保存为文件
with open("output.mp3", "wb") as f:
    f.write(audio_bytes)

# 默认输出格式为 MP3
# 文件大小估算:标准质量下,每分钟语音约 1 MB

各接口返回内容说明:

接口路径 响应类型 处理方式
POST /api/voice/tts bytes(MP3) 直接写入 .mp3 文件
POST /api/voice/sfx bytes(MP3) 直接写入 .mp3 文件
POST /api/voice/music bytes(MP3) 直接写入 .mp3 文件
POST /api/voice/stt JSON {"text": "transcription...", "language": "en"}
POST /api/voice/isolate bytes(MP3) 直接写入 .mp3 文件
GET /api/voices JSON 返回 {voice_id, name, labels, ...} 字典列表

音色选择指南

  • 仅英文场景:使用 eleven_turbo_v2_5 — 更快,且无跨语言口音混杂问题
  • 多语言场景:使用 eleven_multilingual_v2 — 支持 29 种语言
  • 口音注意事项:多语言模型可能在不同语言间产生口音混杂。若英文音色听上去带有日语口音,请切换至 turbo 模型。

配额管理

ElevenLabs 对 TTS 按字符计费。关键实践建议:

  • 积极缓存 — 相同文本 + 相同音色 = 相同音频输出
  • 使用 prompt-cache 技能,在调用 TTS 前通过 SHA-256 去重
  • 一篇 6 场景儿童故事 ≈ 2,000 字符
  • 免费版:每月 10k 字符;入门版:30k;创作者版:100k。

集成方式

将 scripts/elevenlabs_api.py 复制到您的 FastAPI 应用中,并挂载路由:

from elevenlabs_api import router
app.include_router(router)

在环境中设置 ELEVENLABS_API_KEY。所有接口均具备完善的错误处理能力,并返回标准 HTTP 状态码。

若 FastAPI 服务未运行怎么办?

快速上手示例默认假设 http://localhost:8000 已就绪。若服务未启动:

# 调用前检查服务是否在线
import httpx

try:
    httpx.get("http://localhost:8000/health", timeout=2.0)
except httpx.ConnectError:
    # 服务未运行 — 先启动它
    import subprocess
    subprocess.Popen(["uvicorn", "elevenlabs_api:app", "--port", "8000"])
    import time; time.sleep(2)  # 留出端口绑定时间

或绕过 FastAPI 封装,直接调用 ElevenLabs 原生 API — scripts/elevenlabs_api.py 中的函数可作为独立模块导入:

from elevenlabs_api import generate_tts  # 若该模块导出了独立函数

错误处理:API 密钥与速率限制

缺失 API 密钥:

httpx.HTTPStatusError: 401 Unauthorized
{"detail": {"status": "unauthorized", "message": "Invalid API key"}}

→ 检查 ELEVENLABS_API_KEY 是否已设置:echo $ELEVENLABS_API_KEY
→ 从 1Password 获取密钥:op read "op://OpenClaw/ElevenLabs API Credentials/credential"

触发速率限制(429):

{"detail": {"status": "too_many_requests", "message": "Too many requests"}}

→ 等待后重试,并采用指数退避策略。ElevenLabs 免费版/入门版的速率限制按分钟计算。
→ 创作者版及以上版本限制大幅提高 — 请登录 ElevenLabs 控制台查看您的订阅等级。

配额耗尽:

{"detail": {"status": "quota_exceeded", "message": "Quota exceeded"}}

→ 当月字符配额已用完。请等待每月重置,或升级订阅等级。
→ 查看当前用量:curl -s -H "xi-api-key: $KEY" https://api.elevenlabs.io/v1/user/subscription

相关文件

  • scripts/elevenlabs_api.py — 包含全部 7 个接口的 FastAPI 路由实现

常见错误

  1. 将字节响应误当作 JSON 处理

    • ❌ 对 TTS 请求调用 response.json() → 触发 JSONDecodeError
    • ✅ 使用 response.content 获取原始字节,再写入 .mp3 文件
  2. 使用错误的音色 ID

    • ElevenLabs 音色 ID 是不可读的字符串,而非音色名称
    • ❌ "voice_id": "Rachel" → 返回 404 或错误音色
    • ✅ "voice_id": "21m00Tcm4TlvDq8ikWAM"(Rachel 的真实 ID)
  3. 未启用缓存即批量调用 TTS

    • 相同文本 + 相同音色始终生成相同音频 — 请避免重复生成已缓存结果
    • 否则将不必要地消耗字符配额
  4. 对纯英文内容使用多语言模型

    • eleven_multilingual_v2 在纯英文场景下更慢,且易出现口音失真
    • 纯英文任务请使用 eleven_turbo_v2_5
  5. 调用前未确认 FastAPI 服务已运行

    • 若忽略本地服务依赖,httpx.ConnectError 错误信息较难理解
    • 建议在调用接口前增加健康检查或自动启服逻辑

安全说明

本技能采用的部分模式可能被自动化安全扫描器标记:

  • base64:用于媒体类 API 响应中音频/二进制数据的编码(行业通用实践)
  • UploadFile:FastAPI 内置的文件上传参数,用于 STT/人声分离等接口
  • "system prompt":指代理指令配置,不涉及提示注入攻击
目录

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

相关专题

更多
Tailwind CSS 如何制作导航栏和卡片
Tailwind CSS 如何制作导航栏和卡片

用 Tailwind CSS 制作导航栏和卡片,可先搭建语义化结构,再组合 Flex、Grid、间距、圆角与阴影类。这里整理横向导航、移动端菜单、卡片网格及悬停效果的相关文章,帮助你把常见页面组件做得清晰且适配不同屏幕。

0

2026.11.03

Tailwind CSS 响应式布局怎么写
Tailwind CSS 响应式布局怎么写

Tailwind CSS 响应式布局通常从移动端样式写起,再用 sm、md、lg 等前缀调整不同屏幕宽度下的网格、间距和导航。本专题整理断点配置、Grid 与 Flex 自适应布局及常见溢出问题,帮助你逐步完成多设备适配。

0

2026.11.03

Tailwind CSS 常用类名怎么记
Tailwind CSS 常用类名怎么记

Tailwind CSS 类名很多,先按布局、间距、文字、颜色和状态分组记忆,再通过官方文档检索具体写法。本专题结合类名排序、动态拼接失效、自定义实用类等问题,帮助你建立常用类名的速查方法。

0

2026.11.03

码上飞入口地址合集
码上飞入口地址合集

本专题汇总了码上飞(CodeFlying)的官方入口地址合集,涵盖官网主站及网页版在线使用入口,支持注册登录后直接在线体验零代码AI应用生成。同时整理了APP端下载渠道与小程序入口,助你快速访问平台,通过自然语言描述需求即可生成应用、小程序或网站。

0

2026.11.03

Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

0

2026.11.02

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

0

2026.11.02

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

0

2026.11.02

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

0

2026.10.28

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

0

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn