API Reference语音转文字
语音转文字
使用 CN /v1 ASR 任务接口提交音频 URL 并查询转写结果。
语音转文字
中国站 ASR 使用异步任务模型。创建任务时提交音频 URL 和可选模型、时长、语言提示;任务完成后通过详情接口读取 transcript。
实时音频流场景请使用 实时 ASR。
Endpoint
创建任务:
POST /v1/asr/tasks列出任务:
GET /v1/asr/tasks查询任务:
GET /v1/asr/tasks/{taskId}完整地址:
https://kittaaudio.com/api/v1/asr/tasks鉴权与请求头
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN创建任务请求
{
"audioUrl": "https://example.com/audio.mp3",
"model": "kitta-asr-v1",
"durationSeconds": 65,
"languageHints": ["zh"],
"language": "zh"
}| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
audioUrl | string | 是 | 公网可访问的音频 URL |
model | string | 否 | ASR 模型 ID,默认值以 OpenAPI schema 为准 |
durationSeconds | number | 否 | 预估音频时长,便于创建阶段估算扣费 |
languageHints | string[] | 否 | 语言提示数组,例如 ["zh"]、["en"] |
language | string 或 string[] | 否 | 语言提示;可传单个语言或语言数组 |
音频 URL 必须能被服务端直接访问,不能依赖浏览器 Cookie、局域网地址或过期签名。
创建任务响应
成功创建返回 202:
{
"taskId": "asr_task_123",
"status": "pending",
"model": "kitta-asr-v1",
"creditsCharged": 200
}查询任务详情
curl -X GET "https://kittaaudio.com/api/v1/asr/tasks/asr_task_123" \
-H "Authorization: Bearer YOUR_API_TOKEN"成功响应:
{
"id": "row_123",
"taskId": "asr_task_123",
"type": "asr",
"status": "succeeded",
"audioUrl": "https://example.com/audio.mp3",
"transcript": "这是识别出的完整文本。",
"model": "kitta-asr-v1",
"errorCode": null,
"errorMessage": null,
"creditsCharged": 200,
"createdAt": "2026-07-01T08:00:00.000Z",
"startedAt": "2026-07-01T08:00:03.000Z",
"completedAt": "2026-07-01T08:01:00.000Z"
}任务状态包括 pending、processing、succeeded 和 failed。成功任务会包含 transcript;失败任务会包含 errorCode 或 errorMessage。
查询任务列表
curl -X GET "https://kittaaudio.com/api/v1/asr/tasks?limit=20&offset=0&status=succeeded" \
-H "Authorization: Bearer YOUR_API_TOKEN"列表响应结构:
{
"data": [
{
"taskId": "asr_task_123",
"type": "asr",
"status": "succeeded",
"transcript": "这是识别出的完整文本。",
"creditsCharged": 200
}
],
"pagination": {
"limit": 20,
"offset": 0,
"hasMore": false
}
}curl 创建示例
curl -X POST "https://kittaaudio.com/api/v1/asr/tasks" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"audioUrl": "https://example.com/audio.mp3",
"model": "kitta-asr-v1",
"durationSeconds": 65,
"languageHints": ["zh"]
}'错误行为
错误响应示例:
{
"error": {
"code": "invalid_request",
"message": "audioUrl is required",
"requestId": "req_xxx"
}
}| 状态码 | 场景 |
|---|---|
400 | 缺少 audioUrl、URL 无效、模型不支持或字段类型错误 |
401 | API Token 缺失或无效 |
403 | 当前账户无权访问该能力或模型 |
402 | 余额不足 |
404 | 查询任务不存在或不属于当前账户 |
500 | 任务创建、识别供应商或结果查询失败 |
计费与积分
ASR 创建任务时返回 creditsCharged,任务详情和列表也会保留该字段。若传入 durationSeconds,服务端可在创建阶段更准确地估算扣费;最终请以任务 DTO 中的 creditsCharged 为准。
只读的列表和详情查询不会创建新任务。对账时可以使用 GET /v1/usage 查看 ASR 任务数量和累计扣费。