音效创作
用 Python 批量生成 SFX v3 音效:CSV 与脚本示例
下载使用 Python 标准库的官方 API 示例脚本与 CSV,预览任务、限制请求和时长、保护已有文件,并处理结果不确定的提交。
批量生成适合在小规模提示词已经审核后使用。本文提供可下载 Python 示例,按顺序调用 ElevenLabs 官方 SFX v3 API,使用 ElevenLabs 密钥与账号计费,不使用本站用户密钥和积分。
脚本默认只在本地预览。制作本文没有执行付费生成,示例 CSV 是任务计划,不是音频演示。两套接口的区别见 API 指南。
下载脚本与 CSV
把下面两个文件保存到同一个本地目录:
使用 Python 3,示例只依赖标准库,无需安装 SDK,也不需要把密钥粘贴进代码。先阅读脚本,只有准备提交请求时,才通过服务端环境提供 ELEVENLABS_API_KEY。
调用前准备输入
示例包含三条原创提示词建议:
id,prompt,duration_seconds
drawer_close_01,"A small wooden drawer closes once with a soft dry tap.",3
gravel_step_01,"One firm boot step into loose gravel, followed by a few small stones settling.",4
ui_confirm_01,"A tiny muted click followed by one soft rounded bell tone with a quick decay.",3
ID 使用字母、数字、下划线或连字符,且保持唯一,它会成为文件名。脚本按不区分大小写检查重复,以兼容常见文件系统。包含逗号的 CSV 字段需要加引号;每条提示词集中描述能自行判断的声音。
示例要求每行显式填写时长,并按官方接口当前的 0.5–30 秒范围验证。模型固定为 eleven_text_to_sound_v3,输出请求为 MP3。提供方信息核查日期:2026 年 11 月 9 日。
先预览整批任务
在两个下载文件所在目录运行:
python3 batch_generate.py prompts.csv --max-requests 3 --max-seconds 12
这会显示三次请求、总计十秒指定时长,不读取密钥、不联网,也不创建输出文件。脚本在开始前检查全部行、重复 ID、时长总和,以及冲突的结果文件。
默认上限是十次请求、六十秒指定时长。这些限制控制工作量,不是货币预算上限,也不是报价。扩大任务前,核对实际提供方价格、额度和账号条件,不假设每个生成文件都会采用。
审核计划后再执行
配置好 ElevenLabs 环境密钥,并审核可能的费用后,加入执行参数:
python3 batch_generate.py prompts.csv --out sfx-output \
--max-requests 3 --max-seconds 12 --execute
脚本串行请求,每次 POST 前以独占方式创建 ID.submitted.json,记录请求参数。成功音频保存为 ID.mp3,记录状态再改为完成。密钥不会写进记录或打印到输出。
保存前会检查返回类型为音频。缺少密钥、CSV 无效或已有结果及提交记录,会阻止执行;HTTP 失败、网络问题或异常响应则停止批次,不自动重试 POST。
中断后有依据地继续
超时不能证明提供方没有接受请求或没有计费。保留提交记录,先检查提供方请求历史,再决定是否尝试。脚本没有承诺提供方级幂等或自动对账。
用相同 CSV 和输出目录再次运行时,只要其中一个 ID 已有结果或提交记录,就会停止,不静默覆盖或跳过文件。审核中断情况后,如果要继续,另做只包含未触碰任务的 CSV。不要仅为强制重提而删除结果不确定的提交标记。
明确需要额外变体时,使用新 ID,并按新请求安排预算。提供方返回限制或繁忙时,查看其说明,等待后再决定是否重试;示例不会并发重提。
扩大之前先试听
将第一小批结果放入目标项目,记录事件是否可辨认、尾声是否合适,以及还需要什么编辑。源文件和提交记录本地保留;记录包含提示词,私人项目不应直接公开。
区分“文件创建成功”和“作品审核通过”。有效音频响应不能证明创作质量或发布权限。交付前参考游戏流程、视频流程和商用说明。
以后改用本站任务接口时,不要直接更换本脚本的地址:本站返回 JSON 任务,约定不同。请按 API 指南接入,并打开音频工作台。需要从脚本整理出已审核批次时,继续阅读 AI 工作流指南。