ASR API 参考
Shisa ASR API 通过单个 JSON 请求将 base64 编码的音频转录为文本。本页介绍端点、请求参数、成功响应和错误处理。
端点
POST https://api.shisa.ai/asr/srt/audio_llm
使用包含完整shsk: API密钥的bearer令牌进行认证:
Authorization: Bearer YOUR_API_KEY
请求正文为 JSON,服务器会从音频的二进制头自动检测音频格式。
请求参数
| 参数 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
audio | string | 必需 | base64 编码的音频数据(WAV、OGG、MP3 或 FLAC)。 |
language | string | 可选 | 语言代码(例如 "ja"、"en")。省略以进行自动语言检测(LID)。 |
hotwords | string[] | 可选 | 用于提高特定领域术语识别准确性的单词/短语数组。 |
temperature | float | 可选 | 采样温度。值越低,输出越确定。默认值: 0.0。 |
top_p | float | 可选 | 核采样参数。控制输出的多样性。默认值: 0.85。 |
frequency_penalty | float | 可选 | 对频繁出现的 token 进行惩罚以减少重复。默认值: 0.5。 |
repetition_penalty | float | 可选 | 对 token 重复进行惩罚;高于 1.0 的值会抑制重复。默认值: 1.05。 |
vad | integer 或 string | 可选 | 语音活动检测:0/"off"(默认)、1/"on",或使用"segments"返回带时间戳的片段。 |
min_silence_gap | integer | 仅segments | 产生分割的静音间隔(毫秒)。默认值:400。 |
segment_padding | integer | 仅segments | 添加到片段边缘的填充(毫秒)。默认值:100;范围:0–5000。 |
initial_segment_padding_ms | integer | 仅segments | 第一个片段的前置预留(毫秒)。默认值:1500;范围:0–5000。 |
speech_pad_ms | integer | 仅segments | 语音时间戳填充(毫秒)。默认值:200。 |
min_segment_duration | float | 仅segments | 合并前的最短片段时长(秒)。默认值:1.5。 |
备注
只有audio是必需的。使用推荐的顶层audio请求结构时,语言会自动检测,vad默认为"off"。字段名是vad;不支持vad_filter。
旧版请求结构
使用messages的旧版请求在省略vad时默认为1。其OpenAI风格的model字段仅为兼容性而接受,但会被忽略;ASR后端和模型由部署选择。
成功响应
成功的请求返回一个 JSON 对象,包含转录文本、检测到或指定的语言以及置信度分数:
{
"text": "こんにちは、シサAIです。",
"language": "ja",
"confidence": 0.98
}
| 字段 | 说明 |
|---|---|
text | 从音频转录出的文本。 |
language | 检测到或指定的语言代码。 |
confidence | 转录置信度分数,从 0 到 1。 |
片段响应
使用vad: "segments"时,响应会返回带时间戳的片段,而不是顶层text字段:
{
"language": "ja",
"confidence": 1.0,
"segments": [
{
"start": 0.0,
"end": 4.78,
"text": "こんにちは、シサAIです。"
}
]
}
segments[].start和segments[].end是应用填充和合并后的输出音频片段边界,单位为秒。
错误处理
路由器生成的错误通常包含context、数字code、name和字符串error:
{
"context": ["authMiddleware"],
"code": 104,
"name": "ErrAuthenticationFailed",
"error": "Authentication error: Invalid token"
}
错误代码
| 状态 | 原因 |
|---|---|
400 | JSON、base64/音频、语言、VAD设置或会话ID无效。大多数ASR请求正文验证由后端定义。 |
401 | API密钥缺失或无效。 |
403 | 密钥有效,但没有批处理ASR访问权限。 |
404 | 路由的ASR服务/提供商未注册。 |
429 | 达到全局密钥限制、ASR专用限制或后端容量。请退避后重试。 |
500 | 路由器内部或后处理故障。 |
502 | 路由器无法连接到选定后端。 |
| 后端状态 | 后端错误会连同其状态和响应正文一起转发。 |
后端错误的精确字段和消息不属于路由器契约。有关稳健的错误解析,请参阅错误。