跳转到内容

上传、转录任务、转录模式和响应结构相关的公开 API。

Base URL:

https://api.videototext.dev

成功响应统一使用:

{
"data": {},
"meta": {}
}

错误响应使用 Problem Details:

{
"type": "VALIDATION_ERROR",
"title": "Validation failed",
"status": 400,
"detail": "Invalid request",
"errorCode": "VALIDATION_ERROR"
}
模式费用说明
balanced每分钟 1 credit默认模式
precision每分钟 2 credits更高精度选项
状态含义
QUEUED任务正在等待处理资源。
PROCESSING任务正在转录。
SUCCEEDED转录结果已生成。
FAILED任务失败,可能包含 showError
CANCELED任务已取消。

创建签名上传地址。

请求:

{
"filename": "meeting.mp4",
"mimetype": "video/mp4"
}

响应:

{
"data": {
"uploadUrl": "https://storage.example.com/signed-upload-url",
"fileKey": "uploads/example.mp4",
"fileUrl": "https://static.example.com/uploads/example.mp4",
"uploadId": "00000000-0000-0000-0000-000000000000",
"expiresAt": "2026-06-06T10:00:00.000Z"
},
"meta": {}
}

POST /v1/uploads/{uploadId}/operations/complete

Section titled “POST /v1/uploads/{uploadId}/operations/complete”

校验已上传对象、读取媒体时长,并创建 asset。

路径参数:

名称类型说明
uploadIdUUIDPOST /v1/uploads 返回的上传会话 ID。

请求:

{
"fileKey": "uploads/example.mp4",
"fileUrl": "https://static.example.com/uploads/example.mp4",
"filename": "meeting.mp4",
"mimetype": "video/mp4",
"fileSize": 10485760
}

响应:

{
"data": {
"assetId": "00000000-0000-0000-0000-000000000000"
},
"meta": {}
}

常见错误包括 UPLOAD_SESSION_NOT_FOUNDUPLOAD_SESSION_EXPIREDUPLOAD_SIZE_MISMATCHUPLOAD_MIMETYPE_MISMATCHUPLOAD_DURATION_UNREADABLE

基于已上传 asset 创建转录任务。

如果需要安全重试创建任务,请阅读幂等性说明。

请求:

{
"assetId": "00000000-0000-0000-0000-000000000000",
"language": "Auto",
"timestampMode": "CHUNK",
"transcriptionMode": "balanced"
}

字段:

字段类型必填说明
assetIdUUID完成上传后返回的 asset。
languagestring默认 Auto。支持的语言使用小写名称,例如 englishspanishchinese
timestampModestringCHUNKWORD,默认 CHUNK
transcriptionModestring对外模式 key:balancedprecision,默认 balanced

响应:

{
"data": {
"task": {
"transcriptId": "00000000-0000-0000-0000-000000000000",
"status": "QUEUED",
"language": "Auto",
"timestampMode": "CHUNK",
"transcriptionMode": "balanced",
"billedCredits": "1.500000000000"
}
},
"meta": {
"pollAfterMs": 1500
}
}

任务创建和任务详情响应始终包含 transcriptionMode,该字段返回用于计费和结果处理的公开模式 key。

返回客户端需要的任务状态和转录结果字段。

路径参数:

名称类型说明
taskIdUUIDPOST /v1/tasks 返回的 data.task.transcriptId

响应:

{
"data": {
"task": {
"transcriptId": "00000000-0000-0000-0000-000000000000",
"status": "SUCCEEDED",
"showError": null,
"fullText": "Welcome to the meeting.",
"chunks": [
{
"seq": 0,
"startMs": 0,
"endMs": 2200,
"text": "Welcome to the meeting.",
"speakerKey": null,
"speakerName": null,
"wordStartIndex": 0,
"wordEndIndex": 1
}
],
"words": [
{
"text": "Welcome",
"startMs": 0,
"endMs": 600
}
],
"sourceDurationMs": 90400,
"language": "Auto",
"resultLanguage": "english",
"timestampMode": "CHUNK",
"transcriptionMode": "balanced",
"billedCredits": "1.500000000000",
"createdAt": "2026-06-06T09:00:00.000Z"
}
},
"meta": {}
}