API 平台

音频转写

音频转写接口。支持 multipart filefile_idurlaudio_url,不支持 audio_data

POST
/v1/audio/transcriptions

语音识别。请求体为 multipart/form-data 或 JSON。moss-transcribe 同步返回 { text }moss-transcribe-diarizediarize=true 返回结构化 segments,传 stream=true 时响应固定为 SSE(需指定 version=v20260410-streamparam-20260703)。

认证

在请求头中加入 Authorization: Bearer <API_KEY> 完成鉴权,密钥可在控制台「API 密钥」页生成。

示例
curl https://api.mosi.cn/v1/audio/transcriptions \
  -H "Authorization: Bearer $MOSS_API_KEY"

支持模型

字段允许值
model

moss-transcribe / moss-transcribe-diarize

选择转写模式

场景modelversionstream返回形式
普通音频转写moss-transcribe不传,或 moss-transcribe-v1不传JSON / text
多说话人转写,非流式moss-transcribe-diarizemoss-transcribe-diarize-20260325不传JSON,含 segments
多说话人转写,流式moss-transcribe-diarizev20260410-streamparam-20260703trueSSE

请求字段

字段类型必填说明
modelstring

取值见「选择转写模式」。

versionstring条件必填

多说话人转写建议显式传入;具体取值见「选择转写模式」。

filemultipart file条件必填

使用 multipart 上传时必填;与 file_id / url / audio_url 四选一。

file_idstring条件必填

使用已上传文件时必填;与 file / url / audio_url 四选一。

urlstring条件必填

使用公网音频 URL 时必填;与 file / file_id / audio_url 四选一。

audio_urlstring条件必填

url 的兼容字段;与 file / file_id / url 四选一。

diarizeboolean

是否返回说话人分离结果;使用 moss-transcribe-diarize 时建议传 true

streamboolean

仅多说话人流式转写传 true

response_formatstring

json 返回 JSON;text 返回纯文本。流式场景传 json

asyncboolean

设为 true 时创建异步任务。

webhook_urlstring

异步任务完成后回调的 HTTPS URL。

请求示例

{
  "model": "moss-transcribe",
  "file_id": "<file_id>",
  "response_format": "json"
}

响应字段

普通转写(response_format=json

字段类型必返说明
textstring

识别出的完整文本。

多说话人转写,非流式

字段类型必返说明
taskstring

任务类型,当前返回 transcribe

durationnumber

音频时长,单位为秒。

textstring

完整转写文本。

segmentsarray

分段列表;短音频或无有效分段时可能为空数组。

segments[].typestring有分段时

分段事件类型。

segments[].idstring有分段时

分段 ID。

segments[].startnumber有分段时

分段起始时间,单位为秒。

segments[].endnumber有分段时

分段结束时间,单位为秒。

segments[].textstring有分段时

该段文本。

segments[].speakerstring有分段时

说话人标识,例如 S01

文本响应(response_format=text

多说话人转写,流式 SSE

stream=true 时返回 text/event-stream;SSE 帧仅由 data: 行构成(无 event: 行),事件类型写在每帧 JSON 的 type 字段。

字段类型必返说明
task.createdSSE event

流式任务创建事件,携带 task_id / object / status / model

transcript.text.deltaSSE event按内容返回

增量文本事件,携带 delta 文本片段。

transcript.segment.doneSSE event按内容返回

分段完成事件,携带 content_index / speaker / text 等字段。

transcript.text.doneSSE event

转写结束事件,可能携带完整 textusage

usageobject事件中可选

用量信息,按服务端实际事件返回。

SSE 示例
data: {"type":"task.created","task_id":"<task_id>","object":"audio.transcription","status":"PROCESSING","model":"moss-transcribe-diarize"}

data: {"type":"transcript.text.delta","delta":"大家"}

data: {"type":"transcript.segment.done","content_index":0,"speaker":"S01","text":"大家好,"}

data: {"type":"transcript.segment.done","content_index":1,"speaker":"S02","text":"你好。"}

data: {"type":"transcript.text.done","text":"大家好,你好。","usage":{"prompt_tokens":142,"completion_tokens":12,"total_tokens":154}}

异步创建响应(async=true

字段类型必返说明
idstring

任务 ID。

task_idstring

任务查询 ID,通常与 id 相同。

objectstring

固定为 audio.transcription

statusstring

初始状态,例如 PENDING

retry_afterinteger

建议轮询间隔,单位为秒。

created_atinteger

创建时间,Unix 时间戳,单位为秒。

updated_atinteger

更新时间,Unix 时间戳,单位为秒。

异步任务完成后的结果字段见 GET /v1/audio/tasks/{task_id}

下一步