You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenAI Whisper调用transcriptions.create()返回None的问题求助

可能的原因及排查方案

1. 网络/代理配置问题

若运行环境需要代理访问OpenAI API但未正确配置客户端代理,请求可能静默失败并返回None。可在初始化客户端时添加代理配置:

from openai import OpenAI

client = OpenAI(
    api_key="MYAPIKEY",
    base_url="https://api.openai.com/v1",
    proxy="http://your-proxy-address:port"  # 替换为实际代理地址
)

同时可通过curl直接调用API验证网络连通性:

curl https://api.openai.com/v1/audio/transcriptions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F file="@speech.mp3" \
  -F model="whisper-1" \
  -F response_format="verbose_json"

若curl能正常返回结果,说明问题出在Python客户端配置上。

2. OpenAI库版本兼容性

部分版本可能存在已知bug,建议安装最新稳定版:

pip install --upgrade openai

需确保版本在1.0.0以上(v1.x版本才支持client.audio.transcriptions.create语法),可通过以下命令查看当前版本:

import openai
print(openai.__version__)

3. 文件读取与资源释放问题

当前代码未使用上下文管理器处理文件,可能导致文件读取不完整或资源未正确释放。修改为以下写法:

from openai import OpenAI

client = OpenAI(api_key="MYAPIKEY")

with open("speech.mp3", "rb") as audio_file:
    transcript = client.audio.transcriptions.create(
        file=audio_file,
        model="whisper-1",
        response_format="verbose_json",
        timestamp_granularities=["segment"]
    )

print(transcript)

该写法能确保文件被正确读取和关闭,避免因文件流问题导致API无法处理请求。

4. API密钥权限或额度问题

确认密钥拥有Whisper API访问权限,且账户有足够额度:

  • 登录OpenAI后台检查API密钥的权限范围(是否包含音频转录)
  • 查看账户使用额度是否已耗尽

5. 参数兼容性问题

timestamp_granularities参数部分旧版本库可能存在解析问题,可暂时移除该参数测试:

transcript = client.audio.transcriptions.create(
    file=audio_file,
    model="whisper-1",
    response_format="verbose_json"
)

若移除后能正常返回结果,说明该参数与当前库版本不兼容,需升级到支持该参数的版本。

内容的提问来源于stack exchange,提问作者SHDDSFFDSDSAF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 21:13:16