OpenAI 创建 Realtime 翻译客户端密钥
创建翻译客户端密钥
post /realtime/translations/client_secrets
创建 Realtime 翻译客户端密钥及关联的翻译会话配置。
客户端密钥是短期令牌,可传递给客户端应用, 例如 Web 前端或移动客户端,用于访问 Realtime Translation API,无需暴露主 API 密钥。每个客户端密钥均可自定义 有效期(TTL)。
返回创建的客户端密钥和实际生效的翻译会话对象。
客户端密钥是类似 ek_1234 的字符串。
请求体参数
内容类型为 application/json。
session: RealtimeTranslationSessionCreateRequest
Realtime 翻译会话配置。翻译会话持续以流式方式接收源 音频,并输出翻译后的音频和增量文本。
model: string
此会话使用的 Realtime 翻译模型。
audio: optional object { input, output }
翻译输入与输出音频的配置。
input: optional object { noise_reduction, transcription }
noise_reduction: optional object { type, strength } or null
可选的输入降噪配置,设为 null 可禁用。
type: NoiseReductionType
降噪类型。near_field 适用于耳机等近讲麦克风,far_field 适用于笔记本或会议室等远场麦克风。
"near_field"
"far_field"
strength: optional number (default: 1)
输入噪声抑制强度,值越大抑制越强。 首次启用降噪时默认为 1。在会话更新中省略 strength 会保留当前强度。
minimum: 0, maximum: 1
transcription: optional object { model } or null
可选的源语言转录配置。配置后,服务器输出
session.input_transcript.delta events. Translation itself still runs from
输入音频流。
model: string
用于生成源语言转录文本增量的转录模型。
output: optional object { language }
language: optional string
翻译后音频与文本增量的目标语言。
expires_after: optional object { anchor, seconds }
客户端密钥过期配置。过期时间表示此时间之后 无法再用该密钥创建会话。已经启动的会话本身 可以继续运行。在密钥过期之前,可使用同一个密钥创建多个会话, 直至密钥过期。
anchor: optional "created_at" (default: "created_at")
客户端密钥过期时间的基准点。将 seconds 加到密钥的 created_at 时间上即可得到过期时间戳。目前仅支持 created_at。
"created_at"
seconds: optional integer (default: 600)
从基准点到过期时间的秒数,可选 10–7200 秒(2 小时),省略时默认为 600 秒(10 分钟)。
format: int64, minimum: 10, maximum: 7200
返回值
RealtimeTranslationClientSecretCreateResponse object { expires_at, session, value }
创建 Realtime 翻译会话及客户端密钥的响应。
expires_at: integer
客户端密钥过期的 Unix 时间戳,单位为秒。
format: unixtime
session: RealtimeTranslationSession
Realtime 翻译会话。会话会持续将输入 音频翻译成配置的输出语言。
id: string
会话唯一标识,类似 sess_1234567890abcdef。
audio: object { input, output }
翻译输入与输出音频的配置。
input: optional object { noise_reduction, transcription }
noise_reduction: optional object { type, strength } or null
可选的输入降噪配置。
type: NoiseReductionType
降噪类型。near_field 适用于耳机等近讲麦克风,far_field 适用于笔记本或会议室等远场麦克风。
"near_field"
"far_field"
strength: optional number (default: 1)
输入噪声抑制强度,值越大抑制越强。 首次启用降噪时默认为 1。在会话更新中省略 strength 会保留当前强度。
minimum: 0, maximum: 1
transcription: optional object { model } or null
可选的源语言转录配置。配置后,服务器输出
session.input_transcript.delta events. Translation itself still runs from
输入音频流。
model: string
用于生成源语言转录文本增量的转录模型。
output: optional object { language }
language: optional string
翻译后音频与文本增量的目标语言。
expires_at: integer
会话过期的 Unix 时间戳,单位为秒。
format: unixtime
model: string
此会话使用的 Realtime 翻译模型。此字段在
创建会话时设置,无法通过 session.update 修改。
type: "translation"
会话类型,Realtime 翻译会话固定为 translation。
"translation"
value: string
生成的客户端密钥值。
示例
## 设置 OPENAI_API_KEY,并根据示例替换文件路径或会话参数。
curl https://api.openai.com/v1/realtime/translations/client_secrets \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"session": {
"model": "model"
}
}'
200 响应示例
{
"expires_at": 0,
"session": {
"id": "id",
"audio": {
"input": {
"noise_reduction": {
"type": "near_field",
"strength": 0
},
"transcription": {
"model": "model"
}
},
"output": {
"language": "language"
}
},
"expires_at": 0,
"model": "model",
"type": "translation"
},
"value": "value"
}
示例
## 设置 OPENAI_API_KEY,并根据示例替换文件路径或会话参数。
curl -X POST https://api.openai.com/v1/realtime/translations/client_secrets \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"expires_after": {
"anchor": "created_at",
"seconds": 600
},
"session": {
"model": "gpt-realtime-translate",
"audio": {
"input": {
"transcription": {
"model": "gpt-realtime-whisper"
},
"noise_reduction": null
},
"output": {
"language": "es"
}
}
}
}'
响应示例
{
"value": "ek_68af296e8e408191a1120ab6383263c2",
"expires_at": 1756310470,
"session": {
"id": "sess_C9CiUVUzUzYIssh3ELY1d",
"type": "translation",
"expires_at": 1756310470,
"model": "gpt-realtime-translate",
"audio": {
"input": {
"transcription": {
"model": "gpt-realtime-whisper"
},
"noise_reduction": null
},
"output": {
"language": "es"
}
}
}
}
TRAE-AI编程


更多建议: