You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ElevenLabsLib是否具备保存/导出功能?如何自动保存生成的音频

解决ElevenLabs音频保存到指定文件夹的问题

elevenlabslib库本身就支持直接保存音频,不需要借助pydub,你之前的代码错误在于类型不匹配——把voice对象传给了需要文件路径/字节流的AudioSegment.from_file()方法。

正确实现代码(两种方式)

方式1:直接生成并保存(推荐)

from elevenlabslib import ElevenLabsUser

# 初始化用户(替换为你的API密钥)
user = ElevenLabsUser("你的API密钥")
# 获取目标语音
voice = user.get_voices_by_name("Elli")[0]
# 保存路径(注意用原始字符串r""避免转义字符问题,且要指定文件名)
save_location = r"C:\Users\BattleShip\Desktop\work\Voices\test_audio.wav"

# 调用内置方法直接生成并保存音频
voice.generate_and_save_audio(
    "This is a Test. This means it is working.",
    save_path=save_location,
    play_in_background=False
)

方式2:先获取音频字节再手动保存

如果需要对音频数据做额外处理,可以先获取字节流再写入文件:

from elevenlabslib import ElevenLabsUser

user = ElevenLabsUser("你的API密钥")
voice = user.get_voices_by_name("Elli")[0]
save_location = r"C:\Users\BattleShip\Desktop\work\Voices\test_audio.wav"

# 获取音频字节数据
audio_bytes = voice.generate_audio_bytes("This is a Test. This means it is working.")
# 写入文件
with open(save_location, "wb") as audio_file:
    audio_file.write(audio_bytes)

你之前代码的问题说明

  • voice.generate_and_play_audio仅负责播放音频,不会返回可用于后续处理的音频数据
  • AudioSegment.from_file()要求传入文件路径、文件对象或字节流,你传入的voice是语音实例,类型不匹配导致报错

内容的提问来源于stack exchange,提问作者Electro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 00:04:58