Skip to content

API 参考

GET /health

返回服务元信息和当前公开暴露的 STT 模型别名。

鉴权:

  • 无需鉴权

返回示例:

json
{
  "serviceId": "uuid",
  "version": "0.1.7",
  "publicModel": "vilab-local-stt"
}

publicModel 始终反映当前的 STT 路由结果:

  • Local 模式下,它对应当前激活本地语音模型的公开别名。即使当前激活的是 Whisper BaseWhisper SmallSenseVoice,对外别名仍然保持 vilab-local-stt
  • Cloud 模式下,它对应当前云端 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 modeLocal,且还没有激活本地语音模型,data 会返回空数组。

POST /v1/audio/transcriptions

接收 multipart form data,并返回转录结果。

鉴权:

  • Authorization: Bearer <external_api_key>

表单字段:

  • file:必填,音频文件。当前这一期只接受 WAV。
  • model:可选,默认使用 /health 返回的当前公开 STT 模型别名
  • language:可选
  • response_format:可选,默认 json,也支持 text

STT modeLocal 时,这个接口背后的本地运行时可能是 Whisper,也可能是 SenseVoice,取决于设置页当前激活的是哪一个本地语音模型。

JSON 返回:

json
{
  "text": "transcribed content"
}

纯文本返回:

  • 设置 response_format=text
  • 返回类型会变成 text/plain; charset=utf-8

错误码:

  • 400:缺少文件或模型不受支持
  • 401:Bearer token 缺失或无效
  • 502:当前 STT 运行时转写失败

/admin/*

管理员接口只用于宿主管理。

示例:

  • GET /admin/status
  • GET /admin/providers
  • PUT /admin/providers/{id}
  • GET /admin/routing
  • PUT /admin/routing
  • GET /admin/api-keys
  • POST /admin/api-keys
  • POST /admin/api-keys/{id}/revoke

鉴权:

  • Authorization: Bearer <adminKey>

Public release docs and self-hosted deployment guidance.