关于 elevenlabs-tts
elevenlabs-tts 可通过 ElevenLabs API 将文本生成语音音频,面向需要合成旁白或文档音频的用户。它提供 Python 脚本,可选默认或指定音色,并将结果保存为音频文件。
主要功能
- 01文本转语音生成
- 02使用默认或自定义音色 ID
- 03将音频保存到指定路径
- 04通过环境变量或参数提供 API 密钥
适用场景
- 01制作视频旁白
- 02将 Markdown 或文本转换为音频
- 03为不同内容片段分别生成音频
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jechearte/ skills --skill elevenlabs-tts安装后在 Claude Code 中输入/elevenlabs-tts确认已加载。
附带文件scripts/generate_audio.py
详细介绍
ElevenLabs 文本转语音
使用 ElevenLabs API 将文本转换为高质量音频。
前提条件
-
ElevenLabs API 密钥:必须设置为环境变量
ELEVEN_API_KEY- 你的环境中应该已配置 API 密钥
- 如果尚未设置,请从此处获取 API 密钥:https://elevenlabs.io/app/settings/api-keys
-
Python requests 库:如有需要,使用
pip install requests --break-system-packages安装
快速开始
使用提供的脚本,通过默认语音生成音频:
python scripts/generate_audio.py "Your text here" output.mp3
该脚本已预先配置为使用你偏好的语音(ID:dq5fzy66iCKSIQWm5YMU)。
使用其他语音
如果需要使用其他语音,请通过 --voice 参数指定:
python scripts/generate_audio.py "Hello world" output.mp3 --voice "voice_id_here"
常见工作流
视频配音
- 准备脚本文本
- 为内容选择合适的语音
- 生成音频文件
- 在视频编辑软件中使用音频
示例:
# Read script from file and generate audio
python scripts/generate_audio.py "$(cat video_script.txt)" voiceover.mp3
多个片段
对于较长的内容或不同场景,可分别生成音频文件:
# Intro
python scripts/generate_audio.py "Welcome to our channel" intro.mp3
# Main content
python scripts/generate_audio.py "$(cat main_script.txt)" main.mp3
# Outro
python scripts/generate_audio.py "Thanks for watching" outro.mp3
从 Markdown 或文本文件生成
将文档转换为音频:
# Extract text from markdown (remove formatting)
python scripts/generate_audio.py "$(cat article.md | sed 's/#//g')" article.mp3
高级用法
自定义语音 ID
如果你可以使用自定义语音,或想使用特定的语音 ID:
python scripts/generate_audio.py "Text" output.mp3 --voice "your_voice_id_here"
直接提供 API 密钥
无需设置环境变量,直接提供 API 密钥:
python scripts/generate_audio.py "Text" output.mp3 --api-key "your_api_key"
脚本参数
generate_audio.py 脚本接受以下参数:
- text(必填):要转换为语音的文本
- output(必填):输出文件路径(例如,
output.mp3) - --voice(可选):自定义语音 ID(默认值:dq5fzy66iCKSIQWm5YMU)
- --api-key(可选):API 密钥(优先于 ELEVEN_API_KEY 环境变量)
最佳实践
- 文本长度:为获得最佳效果,单次请求的文本不要超过 2,500 个字符
- 字符限额:留意每月字符额度,避免服务中断
- 文件命名:使用描述性名称(例如,
intro_v2.mp3、scene1_narration.mp3) - 测试:先生成一段简短样例,在处理长文本前确认质量
- 标点:正确使用标点,以改善语音的自然节奏和停顿
故障排除
API 密钥错误:确保已正确设置 ELEVEN_API_KEY:
echo $ELEVEN_API_KEY # Should display your key
找不到模块:安装 requests:
pip install requests --break-system-packages
速率限制:免费套餐有使用限制。请间隔发送请求或升级套餐。
音频质量较差:尝试不同的语音,或调整文本(添加标点、拆分为较短的句子)。
资源
- ElevenLabs 控制面板:https://elevenlabs.io/app
- API 文档:https://elevenlabs.io/docs/api-reference
- 语音库:https://elevenlabs.io/voice-library
- 定价:https://elevenlabs.io/pricing
评论
支持 Markdown