计算OpenAI Realtime API的可计费音频Tokens方法咨询
计算OpenAI Realtime API单请求维度的可计费音频Tokens方法
核心方案:利用API推送的事件获取精准token计数
OpenAI Realtime API在交互过程中会通过WebSocket推送包含计费数据的事件,直接从中提取单段/单请求的音频token数是最准确的方式:
- 监听
input_audio_transcription.completed事件:当用户输入的音频完成转录后,API会推送该事件,其中usage.audio_tokens字段就是这段输入音频的可计费token数。 - 监听
response.audio_transcription.completed事件:当AI生成的音频完成转录后,该事件中的usage.audio_tokens字段对应AI输出音频的可计费token数。
示例代码片段(Python WebSocket处理逻辑):
import json import websocket def on_message(ws, message): data = json.loads(message) # 捕获用户输入音频的计费token if data["type"] == "input_audio_transcription.completed": input_tokens = data["usage"]["audio_tokens"] print(f"当前输入音频计费token: {input_tokens}") # 捕获AI输出音频的计费token elif data["type"] == "response.audio_transcription.completed": output_tokens = data["usage"]["audio_tokens"] print(f"当前AI输出音频计费token: {output_tokens}") # 初始化WebSocket连接(省略连接参数配置) ws = websocket.WebSocketApp("wss://api.openai.com/v1/realtime?model=gpt-4o-realtime-preview-2024-10-01", on_message=on_message) ws.run_forever()
单请求维度的汇总统计
每个WebSocket会话对应一个独立的API请求上下文,你可以在会话启动时初始化一个计数器,每次收到上述事件就累加对应的audio_tokens值,会话结束时即可得到该请求的总可计费音频token数,结合官方公布的单价就能算出单请求成本。
本地近似估算(仅作参考)
如果需要提前估算,可按照OpenAI官方的近似规则计算:1分钟音频≈1000个可计费token,即token数 ≈ 音频时长(秒) ÷ 0.06。但注意该值为近似值,实际计费以API返回的usage字段为准。
内容的提问来源于stack exchange,提问作者yonili
相关产品推荐
相关产品推荐

