OpenAI gpt-live-1 prompt-to-voice 怎样接入
来源:17golang原创
时间:2026-10-23 05:57:37 161浏览 收藏
OpenAI 在 2026 年 10 月的 API 更新中开放了 prompt-to-voice:开发者不用准备参考录音,只要提交一段声音描述,就能创建并保存一个自定义声音,再在 gpt-live-1 的 Live 会话里复用。真正的接入链路只有两步:先调用 /v1/audio/voices 拿到 voice ID,再把它放进会话启动配置的 audio.output.voice.id。
官方地址:https://developers.openai.com/api/docs/guides/custom-voices
这项能力适合客服、导览、语音助手等需要稳定角色声音的场景。要注意,文字描述生成的声音目前只支持 GPT-Live,不是通用的 Realtime 或 Speech endpoint 声音;创建声音免费,但使用它进行 GPT-Live 语音生成仍按正常 Live 会话计费。
先确认 prompt-to-voice 能解决什么问题
如果你的目标是“让同一个实时助手始终用相近的音色说话”,prompt-to-voice 比在每次请求里临时描述语气更适合:声音被保存后,应用只需保存返回的 voice ID。会话提示词仍然负责语速、回答长度、打断和何时请求后端协助,声音描述负责音色与基础表达感觉,两者不要混在一段超长指令里。

边界也很明确:prompt-generated voice 不需要参考录音,但不能用来冒充他人;应使用成年声音,并向听众说明语音由 AI 生成。若应用已经是普通文字转语音流程,这个能力并不能直接把 prompt voice 当作 Speech API 的 voice 参数使用。
第一步:创建并保存一个自定义声音
创建接口是 POST https://api.openai.com/v1/audio/voices。请求体至少包含 type、name 和 prompt。声音描述尽量写成可感知的声学特征,例如年龄段、音域、语速、情绪和清晰度;不要把业务规则、工具权限和回答模板都塞进这里。
# 用文字描述创建声音;API key 只从环境变量读取,不写入脚本
curl --fail-with-body https://api.openai.com/v1/audio/voices \
-X POST \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "prompt",
"name": "Calm support voice",
"prompt": "成年人的温和、清晰、可信赖声音,中等音高,语速从容,适合客服对话。",
"model": "auto"
}'
响应会返回一个 audio.voice 对象,其中最重要的是 id。把它作为应用配置或数据库资源保存,不要把一次创建响应里的临时文本当成后续会话配置。每次重新创建都会产生新的保存声音,想比较不同方案时,应该给它们不同名称并保留对应描述。
第二步:在 gpt-live-1 会话启动时引用 voice ID
Live 会话启动配置里,模型固定写成 gpt-live-1,声音放在 audio.output.voice 下。内置声音可以直接传名称;自定义声音则传一个包含 id 的对象。声音要在会话启动时选定,不能把它当成普通对话消息临时切换。
{
"type": "live",
"model": "gpt-live-1",
"audio": {
"output": {
"voice": {
"id": "voice_123"
}
}
},
"instructions": "你是一个温和、直接的客服助手。用户打断时立即停止说话;需要查询订单或执行操作时请求后端协助。"
}
上面的 JSON 是会话初始化数据,不是独立的“生成声音”请求。实践中可以把 voice_123 换成创建接口返回的真实 ID,再按 WebRTC 或 WebSocket 的 Live 连接方式发送。提示词建议保持短小:角色和说话方式留在 Live 层,查询订单、调用工具和权限确认放到后端代理。

怎么选方案:prompt-to-voice、内置声音还是录音声音
可以按任务约束做选择,而不是先追求“最像真人”。只需要稳定的角色感觉时,prompt-to-voice 成本低、无需录音,适合快速试验;需要立即上线并减少资源管理时,用 GPT-Live 内置声音更简单;如果确实要复用经过授权的真人声音,则应走录音声音流程,并准备单独的同意录音,且受账号资格和合规要求约束。
| 方案 | 适合场景 | 关键限制 |
|---|---|---|
| prompt-to-voice | 创建有角色感的成年合成声音 | 只支持 Live;声音不保证唯一 |
| 内置声音 | 快速验证实时对话链路 | 可选音色由平台提供 |
| 录音声音 | 经授权的声音复用 | 需要同意录音、样本和适用资格 |
费用上,创建 prompt-generated voice 本身免费,使用该声音的 GPT-Live 语音会话按正常 Live 费率计费,后端模型和工具调用另行计费。上线前还要把 voice ID、原始描述和应用披露策略一起纳入配置管理,避免只保存一个无法追溯来源的字符串。
接入时最容易踩的三个坑
- 把 prompt-to-voice 当成 Speech endpoint 的通用 voice:文字生成的自定义声音不能直接用于普通 Speech 或 Realtime 流程,先确认产品链路是 GPT-Live。
- 把声音描述当成业务提示词:音色、语速和情绪写在声音 prompt,权限、工具调用和确认规则写在会话或后端 prompt。
- 只保存声音名称不保存 ID:名称便于人看,真正引用要使用 API 返回的 voice ID,并在应用配置里保留创建描述和负责人。
相关问题
创建 prompt-generated voice 需要参考录音吗?不需要,提交文字描述即可;录音和同意记录属于另一种声音创建流程。
一个声音能否在会话中途切换?应在会话启动时选择;需要尝试另一个声音时,重新启动一个 Live 会话更清晰。
官方文档在哪里?https://developers.openai.com/api/docs/guides/live 介绍 GPT-Live 链路,https://developers.openai.com/api/reference/resources/audio/subresources/voices/methods/create 介绍创建声音的请求字段。
-
306 收藏
-
361 收藏
-
321 收藏
-
科技周边 · 业界新闻 | 1小时前 | MySQL · 查询优化 · explain index 生成列 MySQL 8.4 generated column JSON_UNQUOTE SHOW WARNINGS127 收藏
-
374 收藏
-
218 收藏
-
400 收藏
-
399 收藏
-
219 收藏
-
316 收藏
-
461 收藏
-
329 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习