登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  科技周边 >  业界新闻

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。会话提示词仍然负责语速、回答长度、打断和何时请求后端协助,声音描述负责音色与基础表达感觉,两者不要混在一段超长指令里。

从文字声音描述到 voice ID 再到 gpt-live-1 会话的接入关系说明图
图1:接入关系说明图,展示声音描述、声音资源和 Live 会话之间的静态关系,不是实际控制台截图。

边界也很明确: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 层,查询订单、调用工具和权限确认放到后端代理。

gpt-live-1 会话启动配置中模型、声音 ID 和后端协作边界的原创说明图
图2:会话配置说明图,展示 gpt-live-1、voice ID、对话指令和后端任务之间的配置边界,不是运行截图。

怎么选方案: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 介绍创建声音的请求字段。

声明:本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>