转录音频文件
POST /v1/audio/transcriptions
转录上传的音频或视频文件。json 返回文本和时长,verbose_json 返回结构化文稿,text 返回纯文本,diarized_json 还会做说话人分离。词级或段级时间戳需要 verbose 或 diarized 输出。stream=true 只有桌面网关支持,返回 SSE 文本增量,输出为 JSON 且不带时间戳粒度;Headless 服务会以 400 拒绝。
请求体
multipart/form-data必填
filefile必填音频或视频文件。请求体通用上限 512 MiB。modelstring不传则用服务配置的默认模型。languagestring可选,省略时从音频自动检测语言。会对照支持的转录语言校验,不在列表内的代码返回 400 asr_language_unsupported,param=language。见 /docs/languages#transcription 。response_formatstring输出形式。streamboolean仅桌面网关,且输出为 JSON、不带时间戳粒度。timestamp_granularities[]string[]需要 verbose 或 diarized 输出。word_timestamp_enabledboolean直接控制词级时间戳。candidatesintegerN-best 输出。1 是常规值;2–8 要求非流式 verbose_json 且不带词级时间戳。重复传互相冲突的值返回 400。semantic_sentence_enabledboolean控制语义处理。显式传 false 与长度或余量字段冲突,返回 400。min_charsinteger默认长度 12。长度约束默认关闭,传任一长度字段即开启,并同时请求语义处理。max_charsinteger默认长度 42。start_marginnumber秒;默认余量 0.2。end_marginnumber秒;默认余量 0.2。响应
200文稿,结构由 response_format 决定。流式请求返回 SSE transcript.text.delta 事件,最后是 transcript.text.done;HTTP 200 本身不能证明流已完整结束。TranscriptJson
textstringstartnumberdurationnumberlanguagestringusageobject转录与对齐的音频时长计量。typestringsecondsnumber已处理的音频秒数。窗口对齐时这是处理窗口的长度,不是整段媒体时长。TranscriptVerbose
taskstringdurationnumberlanguagestringtextstringsegmentsobject[]idinteger该段在结果中的序号。startnumber段落起点,单位秒。endnumber段落终点,单位秒。textstring段落文本。speakerstring | null说话人标签;没有判定说话人时为 null。wordsobject[]词级时间戳。只有请求了词级时间戳才会出现。word_timestamps_unavailableobject[]对齐失败的段。这些段照常给出文本但不带词,时间是原始分段窗口。每项是 {start, end},单位秒。所有段都对齐成功时省略。startnumberendnumberusageobject转录与对齐的音频时长计量。typestringsecondsnumber已处理的音频秒数。窗口对齐时这是处理窗口的长度,不是整段媒体时长。TranscriptDiarized
textstringsegmentsobject[]typestringidstringstartnumberendnumbertextstringspeakerstring | nullwordsobject[]word_timestamps_unavailableobject[]对齐失败的段。这些段照常给出文本但不带词,时间是原始分段窗口。每项是 {start, end},单位秒。所有段都对齐成功时省略。startnumberendnumberusageobject转录与对齐的音频时长计量。typestringsecondsnumber已处理的音频秒数。窗口对齐时这是处理窗口的长度,不是整段媒体时长。{
"text": "Hello world.",
"start": 0,
"duration": 2.5,
"language": "en",
"usage": {
"type": "duration",
"seconds": 2.5
}
}400请求不合法。先改请求再重试:error.code 用于程序判断,error.param 用于定位是哪个输入。401API Key 缺失或无效。403Host 或 Origin 不被允许,或 License 被拒。按 error.code 区分这两种情况。413请求体超过 512 MiB。503所需的本地模型仍在准备(model_downloading),或服务正忙(service_busy)。带 Retry-After 时按它退避。