实时语音
使用 Realtime API 构建低延迟的多模态体验。
OPE.AI Realtime API 支持低延迟的多模态交互,包括语音对语音的对话体验和实时转录功能。
使用 WebSocket 连接
WebSocket 是一种广泛支持的实时数据传输 API,非常适合在服务端集成中连接 OPE.AI Realtime API。
概览
在服务端与 Realtime API 的集成中,你的后端系统将通过 WebSocket 与 Realtime API 直接连接。你可以使用 标准 API 密钥 来进行身份验证,因为这个密钥仅用于你安全的后端环境中。
标准 API 密钥 只应在安全的服务器端环境中使用。
连接详情
通过 WebSocket 连接时需要以下信息:
URL | wss://api-platform.ope.ai/v1/realtime |
---|---|
查询参数 | model 要连接的 Realtime 模型 ID,例如 opeai/AudioLLM/Voice2 |
请求头 | Authorization: Bearer $API_KEY OpenAI-Beta: realtime=v1 此标头在 beta 阶段是必需的。 |
以下是使用这些连接信息初始化 WebSocket 连接的几个示例:
import WebSocket from "ws";
const url = "wss://api-platform.ope.ai/v1/realtime?model=opeai/AudioLLM/Voice2";
const ws = new WebSocket(url, {
headers: {
"Authorization": "Bearer " + process.env.API_KEY,
"OpenAI-Beta": "realtime=v1",
},
});
ws.on("open", () => console.log("已连接"));
ws.on("message", (msg) => console.log(JSON.parse(msg.toString())));
import os
import json
import websocket
API_KEY = os.environ.get("API_KEY")
url = "wss://api-platform.ope.ai/v1/realtime?model=opeai/AudioLLM/Voice2"
headers = [
"Authorization: Bearer " + API_KEY,
"OpenAI-Beta: realtime=v1"
]
def on_open(ws):
print("已连接至服务器。")
def on_message(ws, message):
data = json.loads(message)
print("收到事件:", json.dumps(data, indent=2))
ws = websocket.WebSocketApp(
url,
header=headers,
on_open=on_open,
on_message=on_message,
)
ws.run_forever()
const ws = new WebSocket(
"wss://api-platform.ope.ai/v1/realtime?model=opeai/AudioLLM/Voice2",
[
"realtime",
// 认证
"openai-insecure-api-key." + API_KEY,
// Beta 协议,必须
"openai-beta.realtime-v1"
]
);
ws.on("open", function open() {
console.log("已连接至服务器。");
});
ws.on("message", function incoming(message) {
console.log(message.data);
});
通过 WebSocket 连接时需要以下信息:
URL | wss://api-platform.ope.ai/v1/realtime |
---|---|
查询参数 | intent 连接用途: transcription |
请求头 | Authorization: Bearer $API_KEY OpenAI-Beta: realtime=v1 此标头在 beta 阶段是必需的。 |
以下是使用这些连接信息初始化 WebSocket 连接的几个示例:
import WebSocket from "ws";
const url = "wss://api-platform.ope.ai/v1/realtime?intent=transcription";
const ws = new WebSocket(url, {
headers: {
"Authorization": "Bearer " + process.env.API_KEY,
"OpenAI-Beta": "realtime=v1",
},
});
ws.on("open", function open() {
console.log("已连接至服务器。");
});
ws.on("message", function incoming(message) {
console.log(JSON.parse(message.toString()));
});
import os
import json
import websocket
API_KEY = os.environ.get("API_KEY")
url = "wss://api-platform.ope.ai/v1/realtime?intent=transcription"
headers = [
"Authorization: Bearer " + API_KEY,
"OpenAI-Beta: realtime=v1"
]
def on_open(ws):
print("已连接至服务器。")
def on_message(ws, message):
data = json.loads(message)
print("收到事件:", json.dumps(data, indent=2))
ws = websocket.WebSocketApp(
url,
header=headers,
on_open=on_open,
on_message=on_message,
)
ws.run_forever()
const ws = new WebSocket(
"wss://api-platform.ope.ai/v1/realtime?intent=transcription",
[
"realtime",
// 认证
"openai-insecure-api-key." + API_KEY,
// Beta 协议,必须
"openai-beta.realtime-v1"
]
);
ws.on("open", function open() {
console.log("已连接至服务器。");
});
ws.on("message", function incoming(message) {
console.log(message.data);
});