API 参考
GET /health
返回服务元信息和当前公开暴露的 STT 模型别名。
鉴权:
- 无需鉴权
返回示例:
json
{
"serviceId": "uuid",
"version": "0.1.7",
"publicModel": "vilab-local-stt"
}publicModel 始终反映当前的 STT 路由结果:
Local模式下,它对应当前激活本地语音模型的公开别名。即使当前激活的是Whisper Base、Whisper Small或SenseVoice,对外别名仍然保持vilab-local-sttCloud模式下,它对应当前云端 STT provider/model 的公开别名
GET /v1/models
返回 VILab 当前对外暴露的公开模型列表。
鉴权:
Authorization: Bearer <external_api_key>
返回示例:
json
{
"object": "list",
"data": [
{
"id": "vilab-local-stt",
"object": "model",
"created": 0,
"owned_by": "vilab"
}
]
}如果当前 STT mode 是 Local,且还没有激活本地语音模型,data 会返回空数组。
POST /v1/audio/transcriptions
接收 multipart form data,并返回转录结果。
鉴权:
Authorization: Bearer <external_api_key>
表单字段:
file:必填,音频文件。当前这一期只接受 WAV。model:可选,默认使用/health返回的当前公开 STT 模型别名language:可选response_format:可选,默认json,也支持text
当 STT mode 为 Local 时,这个接口背后的本地运行时可能是 Whisper,也可能是 SenseVoice,取决于设置页当前激活的是哪一个本地语音模型。
JSON 返回:
json
{
"text": "transcribed content"
}纯文本返回:
- 设置
response_format=text - 返回类型会变成
text/plain; charset=utf-8
错误码:
400:缺少文件或模型不受支持401:Bearer token 缺失或无效502:当前 STT 运行时转写失败
/admin/*
管理员接口只用于宿主管理。
示例:
GET /admin/statusGET /admin/providersPUT /admin/providers/{id}GET /admin/routingPUT /admin/routingGET /admin/api-keysPOST /admin/api-keysPOST /admin/api-keys/{id}/revoke
鉴权:
Authorization: Bearer <adminKey>