Azure OpenAI Realtime API响应token用量与计费数据不符问询
问题背景
我通过.NET的OpenAI.Realtime SDK调用Azure OpenAI Realtime API(模型gpt-realtime-mini-2025-12-15),发现从response.done事件获取的token用量明细,与同一隔离会话的Azure Cost Management计量数据存在显著差异。本次测试为单轮语音交互的最简场景,无自定义系统指令、工具或函数调用,但各计量项数值均不匹配:
- API报告的缓存文本/音频输入token(各64)在计费数据中显示为0;
- 音频输入计费token(640)约为API报告值(110)的5.8倍,即使加上缓存值仍有大量未解释token;
- 音频输出、文本输入/输出的计费token均高于API报告值。
已验证该会话为当日部署唯一流量,所有事件日志仅含一个非零token的response.done事件。
问题与解答
Azure如何将response.done的用量字段映射到计费计量项?是否有文档说明缓存与非缓存token的映射规则?
目前公开文档未明确说明字段映射规则。缓存token属于会话上下文复用内容,Azure计费通常仅统计模型实际处理的新增token,而非缓存的历史内容,这可能是缓存token未计入计费的原因。Whisper转录是否会计入主模型的音频输入、文本输出计量项,即使transcription.completed报告基于时长计费?
是的。Whisper转录生成的文本会作为主模型的输入token被计费,同时转录本身的时长计费是独立计量项,两者并行计算,互不抵消。是否存在Azure计费但response.done未报告的隐藏内部token(如默认系统指令、音频帧开销等)?
存在这种情况。Realtime API会包含默认系统提示词以维持会话逻辑,这些内部token不会在response.done中暴露,但会被计入计费。此外,音频处理的帧分割、格式转换等隐性操作也可能产生额外计费token。response.done的用量是否用于反映实际计费,还是仅为近似值?
response.done返回的token数是模型侧的近似统计值,仅作参考,并非实际计费依据。Azure计费使用独立计量系统,包含更多隐性处理成本,两者数值通常存在差异。是否有用户成功匹配Realtime API的response.done token计数与Azure成本管理数据?
目前社区反馈中,极少有用户能实现完全匹配。由于两者统计维度、计算逻辑不同,仅能做到大致对齐,无法精准匹配。
内容的提问来源于stack exchange,提问作者Hamed Hajiloo




