
Murf.ai
Murf.ai 快速上手:从 Studio 到 TTS API 的语音生成教程
Murf.ai 提供拟真 AI 语音合成、声音克隆、配音与翻译能力,既有面向创作者的 Studio 网页应用,也有面向开发者的 API,支持 WebSocket 与 HTTP 流式输出。本文梳理账号与密钥准备、Studio 操作流程、API 鉴权与首个请求、流式合成参数、声音库查询方式,并给出一个可跑通的完整示例与常见限制说明。
Murf.ai 是一套围绕 AI 语音生成构建的工具集,核心能力包括文本转语音、声音克隆、变声、音频转文字、语音转文字、视频配音以及音频翻译。它同时提供两种使用形态:面向内容创作者的 Studio 网页应用,以及面向开发者的 API。API 侧除了常规的 HTTP 接口,还提供低延迟的 WebSocket 双向流式合成与分块 HTTP 流式合成,适合接入实时对话、语音助手、批量配音等场景。如果你需要把文字变成可用的旁白音轨,或者把语音合成能力嵌进自己的产品里,可以从 Murf.ai 入手,先跑通最小流程,再按需扩展。
本文按「先网页端、后 API」的顺序组织:先说明账号与密钥等前置条件,再分步骤讲 Studio 的基本操作与 API 的调用方式,然后给出一个从头到尾可执行的最小示例,最后列出素材中明确提到的限制与容易踩的坑。价格、配额与可用地区请以官网当前信息为准。
准备工作
在动手之前,需要把账号、访问入口和密钥三件事确认清楚。
账号与登录入口
Murf 的 Studio 网页应用有独立的登录页面。使用前需要先注册账号并登录,才能进入工作台创建项目、选择声音、生成语音。Studio 是面向创作者的可视化界面,适合做单条旁白、批量脚本配音、视频配音这类工作;如果你要的是程序化调用,则走 API 那条路。
账号还涉及服务条款与隐私政策两份文件,注册与使用前建议先阅读,了解数据如何被收集、使用与保护。企业用户另有面向企业的语音解决方案入口,早期创业团队则可以关注创业孵化计划,该计划为符合条件的初创公司提供免费额度,用于试用 AI 语音与文本转语音技术。具体资格与额度以官网当前说明为准。
API 访问与鉴权
API 的入口文档包含总览、快速开始、限流、最佳实践与常见问题几个部分。总览部分说明了鉴权方式、基础 URL 以及整体能力范围。调用 API 需要先取得密钥,请求时携带该密钥完成身份校验。密钥属于敏感凭据,不要写进前端代码或公开仓库。
API 的基础地址分为两类:REST 请求走常规 HTTPS 域名,WebSocket 流式合成走 wss://global.api.murf.ai/v1/speech/stream-input。注意 WebSocket 流式合成目前仅支持 Falcon 模型。
机器可读的接口描述文件
如果打算自己生成客户端代码,比起逐页读散文式文档,更推荐直接使用接口描述文件。REST 侧提供 OpenAPI 描述,覆盖文本转语音、声音库、配音与翻译等全部接口;WebSocket 侧提供 AsyncAPI 3.1 描述,包含查询参数、消息帧结构以及每一个错误码与警告码。用这些文件生成客户端,能显著减少字段拼写与结构理解上的偏差。
操作步骤
第一步:在 Studio 中生成第一条语音
登录 Studio 后,基本流程是:新建项目,输入或粘贴脚本文本,从声音库中挑选一个声音,调整语速、音调等参数,然后生成并试听。Studio 支持多语言声音,适合为社交媒体视频、有声书、YouTube 视频、播客、动画、广告、电子学习课程、讲解视频、产品演示、演示文稿、培训视频等内容制作旁白。
如果手上已有录音,Studio 还提供在线语音编辑能力:把音频转成可编辑的文本,改完文字再重新合成,从而修正口误或调整措辞,而不必整段重录。音频转文字与语音转文字两个功能也在这里发挥作用,前者把音频文件转成可编辑文本,后者把口述内容转成文字。
需要多语言版本时,可以使用在线音频翻译工具,把一段音频翻译成另一种语言的音频。该工具覆盖 10 种以上语言与 200 个以上 AI 声音。具体语言与声音数量以官网当前信息为准。
第二步:了解可用的集成方式
如果语音最终要放进演示或课程里,Murf 提供了若干现成集成:可以把 AI 旁白接入 Google Slides 做演示;可以配合 Adobe Captivate 增强电子学习音频;可以把 Murf 的声音接入 Adobe Audition 做后期制作;也可以接入 Articulate 360 的 Rise 360 制作学习内容。选择哪条路径取决于你的内容生产工具链。
第三步:发出第一个 API 请求
API 快速开始的目标是在几分钟内完成第一次调用。整体流程是:取得密钥,确定基础 URL,构造请求体,发送请求,接收音频数据。文本转语音的 REST 接口属于 Speech Synthesis API 的一部分,参考文档列出了完整的请求与响应结构。
调用前先确认要用的模型与声音。声音库接口可以浏览全部可用声音,也可以按模型过滤列出。例如按 Falcon 模型列出声音:
GET /v1/speech/voices?model=FALCON
Authorization: <你的密钥>
返回结果中每个声音都有一个标识。这个标识既可以传完整 id,也可以传显示名称。例如 en-US-gordon 是完整 id,而 Gordon 是它的显示名称,两者都能被接受。实际使用时建议传完整 id,避免同名歧义。
第四步:使用 HTTP 流式合成
如果不想等整段音频生成完再返回,可以用分块 HTTP 流式接口:
POST /v1/speech/stream
该接口以分块方式持续返回音频数据,适合边生成边播放或边转发的场景。相比一次性返回完整文件,流式方式能明显降低首字节等待时间。
第五步:使用 WebSocket 流式合成
对延迟要求更高的场景,可以走 WebSocket 双向流式合成。连接地址是:
wss://global.api.murf.ai/v1/speech/stream-input
这条通道目前仅支持 Falcon 模型。交互顺序是固定的:先发送 voice_config 配置声音,再发送文本内容,最后发送结束标记:
{"end": true}
这个结束标记是必需的。没有它,合成流程不会完成,也不会有最终结果返回。这是接入时最容易遗漏的一步。
另一个需要注意的细节是音频格式。默认情况下,返回的第一个 WAV 分块带有一个 44 字节的占位头。如果客户端直接把这个头当成真实音频头解析,可能得到错误的时长或采样信息。要避开这个问题,可以在请求中指定 format=PCM,这样返回的就是不含该占位头的裸 PCM 数据。
第六步:调整 WebSocket 高级参数
WebSocket 流式合成提供三个高级参数,用于在延迟与合成质量之间做权衡:
| 参数 | 取值范围 | 默认值 | 作用 |
|---|---|---|---|
min_buffer_size | 0–1000 | 100 | 控制最小缓冲大小 |
max_buffer_delay_in_ms | 0–1000 | 300 | 控制最大缓冲等待时间,单位毫秒 |
predictive_chunking | strict 或 lenient | — | 控制分块策略的严格程度 |
这三个参数是顶层字段,不要嵌套在 voice_config 里面。放错层级会导致参数不生效,而且不一定报错,排查起来比较费时。
第七步:按需接入其他能力
除文本转语音之外,API 还覆盖变声、翻译与配音三类能力。变声用于实时修改与转换声音;翻译用于把内容转成其他语言;配音用于为视频等内容生成多语言音轨。这三类能力的具体请求结构与参数,需要查阅各自的接口文档。
一个完整示例
下面给出一个从零到出声的最小流程,使用 WebSocket 流式合成,语言为美式英语,声音为 Gordon。
第一步,列出可用声音,确认目标声音存在。
GET /v1/speech/voices?model=FALCON
Authorization: <你的密钥>
在返回列表中定位到 en-US-gordon,确认它属于 Falcon 模型。
第二步,建立 WebSocket 连接。
wss://global.api.murf.ai/v1/speech/stream-input
第三步,发送声音配置。把声音标识放进 voice_config,同时把高级参数放在顶层,并指定 PCM 格式以避开 44 字节占位头:
{
"voice_config": {
"voiceId": "en-US-gordon"
},
"format": "PCM",
"min_buffer_size": 100,
"max_buffer_delay_in_ms": 300,
"predictive_chunking": "lenient"
}
第四步,发送待合成的文本。文本可以分多次发送,服务端会按缓冲策略与分块策略逐步合成并回传音频分块。
第五步,发送结束标记。这一步不能省:
{"end": true}
第六步,接收音频分块并落盘。由于指定了 PCM 格式,收到的数据可以直接按裸 PCM 拼接写入文件,再按采样率与位深封装成 WAV 播放。如果改用默认的 WAV 输出,则要注意第一个分块里的 44 字节占位头,不要把它当作真实音频头参与时长计算。
整条链路跑通后,把文本换成自己的脚本、把声音换成目标语言的声音,就得到了一个可复用的合成流程。若要批量处理,把上述步骤包进循环即可;若要降低首字节延迟,可以调小 max_buffer_delay_in_ms,代价是分块更碎、请求开销更高。
注意事项
WebSocket 仅支持 Falcon 模型。其他模型不能走这条通道,选声音时要先确认模型归属。
结束标记是必需的。不发送 {"end": true},合成不会完成。这是接入阶段最常见的失败原因。
首个 WAV 分块带 44 字节占位头。直接解析会导致音频信息错误。需要干净数据时使用 format=PCM。
高级参数是顶层字段。min_buffer_size、max_buffer_delay_in_ms、predictive_chunking 不要放进 voice_config。
参数有取值范围。min_buffer_size 与 max_buffer_delay_in_ms 都限定在 0 到 1000 之间,默认值分别是 100 与 300。predictive_chunking 只接受 strict 与 lenient 两个取值。
voiceId 接受两种写法。完整 id(如 en-US-gordon)与显示名称(如 Gordon)都可以。生产环境建议用完整 id 以避免歧义。
注意限流。API 有独立的限流文档,说明各接口的调用频率约束。批量任务需要做退避重试,避免触发限流导致任务中断。
先读最佳实践与常见问题。这两份文档汇总了调用方式上的建议与高频疑问,在正式接入前过一遍,能省下不少调试时间。
声音使用需符合伦理规范。Murf 与配音演员合作并强调公平呈现,声音克隆与变声功能应遵守相应的伦理要求与授权约定,不要用于未经许可的模仿或误导性内容。
价格、配额与地区可用性以官网为准。不同套餐包含的额度、可用功能与商用授权范围不同,接入前请核对当前条款。