转录音频文件

POST /v1/audio/transcriptions

转录上传的音频或视频文件。json 返回文本和时长,verbose_json 返回结构化文稿,text 返回纯文本,diarized_json 还会做说话人分离。词级或段级时间戳需要 verbose 或 diarized 输出。stream=true 只有桌面网关支持,返回 SSE 文本增量,输出为 JSON 且不带时间戳粒度;Headless 服务会以 400 拒绝。

指南与示例转录与说话人本地网关 API全部接口

请求体

multipart/form-data必填

filefile必填音频或视频文件。请求体通用上限 512 MiB。
modelstring不传则用服务配置的默认模型。
languagestring可选,省略时从音频自动检测语言。会对照支持的转录语言校验,不在列表内的代码返回 400 asr_language_unsupported,param=language。见 /docs/languages#transcription 。
response_formatstring输出形式。json | verbose_json | text | diarized_json
streamboolean仅桌面网关,且输出为 JSON、不带时间戳粒度。
timestamp_granularities[]string[]需要 verbose 或 diarized 输出。word | segment
word_timestamp_enabledboolean直接控制词级时间戳。
candidatesintegerN-best 输出。1 是常规值;2–8 要求非流式 verbose_json 且不带词级时间戳。重复传互相冲突的值返回 400。1–8
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

textstring
startnumber
durationnumber
languagestring
usageobject转录与对齐的音频时长计量。
typestringduration
secondsnumber已处理的音频秒数。窗口对齐时这是处理窗口的长度,不是整段媒体时长。

TranscriptVerbose

taskstringtranscribe
durationnumber
languagestring
textstring
segmentsobject[]
idinteger该段在结果中的序号。
startnumber段落起点,单位秒。
endnumber段落终点,单位秒。
textstring段落文本。
speakerstring | null说话人标签;没有判定说话人时为 null。
wordsobject[]词级时间戳。只有请求了词级时间戳才会出现。
word_timestamps_unavailableobject[]对齐失败的段。这些段照常给出文本但不带词,时间是原始分段窗口。每项是 {start, end},单位秒。所有段都对齐成功时省略。
startnumber
endnumber
usageobject转录与对齐的音频时长计量。
typestringduration
secondsnumber已处理的音频秒数。窗口对齐时这是处理窗口的长度,不是整段媒体时长。

TranscriptDiarized

textstring
segmentsobject[]
typestringtranscript.text.segment
idstring
startnumber
endnumber
textstring
speakerstring | null
wordsobject[]
word_timestamps_unavailableobject[]对齐失败的段。这些段照常给出文本但不带词,时间是原始分段窗口。每项是 {start, end},单位秒。所有段都对齐成功时省略。
startnumber
endnumber
usageobject转录与对齐的音频时长计量。
typestringduration
secondsnumber已处理的音频秒数。窗口对齐时这是处理窗口的长度,不是整段媒体时长。
JSON
{
  "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 时按它退避。