用 Ace Data Cloud 接入 OpenAI 兼容语音转文字:一份能直接运行的 API 指南
会议录音整理、播客逐字稿、视频字幕、客服通话检索......这些场景的第一步通常都是把音频变成文字。Ace Data Cloud 提供与 OpenAI /v1/audio/transcriptions 兼容的语音识别接口:如果已经在用 OpenAI SDK,通常只需把 base_url 指向 Ace Data Cloud,并换成自己的 AceData Token,就可以沿用熟悉的调用方式。
本文依据 Ace Data Cloud 官方接入文档 整理。平台入口:Ace Data Cloud;实际参数与计费以平台实时页面为准。
先选模型:要字幕,还是要增量转写?
| 需求 | 推荐模型 | 原因 | | --- | --- | --- | | 直接导出 SRT/VTT 字幕、获取词级时间戳 | whisper-1 | 支持 srt、vtt、verbose_json 与 timestamp_granularities[] | | 专有名词提示、候选语言、增量展示转写文字 | gpt-transcribe | 支持 keywords[]、languages[],且可通过 stream=true 返回 SSE |
两者都能输出普通转写文本,但能力不能混用:gpt-transcribe 的 response_format 仅支持 json、text,不能直接请求 SRT/VTT;whisper-1 即使传入 stream=true 也仍返回完整结果。原文列出的参考价格分别是 whisper-1 0.0078/分钟** 、`gpt-transcribe` **0.0059/分钟;按实际音频时长计费,向上取整到秒,具体价格以平台当前展示为准。
一条 curl 先跑通
接口地址为 POST https://api.acedata.cloud/v1/audio/transcriptions,用 Authorization: Bearer {token} 鉴权,上传格式为 multipart/form-data。把以下示例的 Token 与本地音频文件换成自己的:
curl -X POST 'https://api.acedata.cloud/v1/audio/transcriptions' \
-H 'Authorization: Bearer YOUR_ACEDATA_TOKEN' \
-F 'file=@audio.mp3' \
-F 'model=whisper-1' \
-F 'language=zh'
默认 response_format=json,成功时可得到包含 text 的 JSON。language 可省略以自动识别;已知语种时可用 zh、en 等 ISO-639-1 代码。接口支持 flac、mp3、mp4、mpeg、mpga、m4a、ogg、wav、webm,单文件上限 25 MB。
如果项目已经依赖 OpenAI Python SDK,改动可以更小:
from openai import OpenAI
client = OpenAI(
base_url="https://api.acedata.cloud/v1",
api_key="YOUR_ACEDATA_TOKEN",
timeout=300.0,
)
with open("audio.mp3", "rb") as audio:
result = client.audio.transcriptions.create(model="whisper-1", file=audio)
print(result.text)
生产环境建议通过环境变量或密钥管理服务提供 Token,不要把真实密钥提交到代码仓库。音频处理可能耗时,原始文档建议客户端超时不少于 300 秒。
两个实用场景
1. 快速生成字幕。 选择 whisper-1 和 response_format=srt,响应可直接保存为字幕文件:
curl -X POST 'https://api.acedata.cloud/v1/audio/transcriptions' \
-H 'Authorization: Bearer YOUR_ACEDATA_TOKEN' \
-F 'file=@audio.mp3' \
-F 'model=whisper-1' \
-F 'response_format=srt' \
-o subtitle.srt
需要精细对齐时,把格式改成 verbose_json,并传入 timestamp_granularities[]=word;它会返回包含起止时间的词级结果。这个参数必须与 verbose_json 配合。
2. 边处理边展示文字。 对 gpt-transcribe 传入 stream=true,服务以 SSE 返回 transcript.text.delta 增量事件,最后以 transcript.text.done 给出完整文本与用量信息:
curl -N -X POST 'https://api.acedata.cloud/v1/audio/transcriptions' \
-H 'Authorization: Bearer YOUR_ACEDATA_TOKEN' \
-F 'file=@audio.mp3' \
-F 'model=gpt-transcribe' \
-F 'stream=true'
对品牌名、人名等容易识别错的词,可使用 gpt-transcribe 专属的 keywords[] 提示;若传 languages[] 候选语言,就不要同时传 language。
上线前留意
- 文件超过 25 MB 可先分段或压缩;单次请求音频最长 1 小时。
- 模型专属参数不要交叉使用,否则会返回 400;无效 Token 是 401、余额不足可能是 403、文件太大是 413、请求过于频繁是 429。
- SSE 流建立后仍要监听错误事件;拿到
transcript.text.done才算正常完成。
对于已有 OpenAI SDK 调用链的团队,Ace Data Cloud 的吸引力在于兼容的接口形态与平台统一的接入入口 :先用几行代码验证音频转写,再按字幕、时间戳或流式体验挑选模型。完整参数、示例与最新说明请查看原始接入文档,也可以访问 Ace Data Cloud 平台了解其他 API 能力。