跳到导航

视频分析

POST https://api.beatapi.io/v1/video-analysis/tasks

对已上传的 MP4 或 MOV 视频进行带时间戳的多模态分析,可选择 standard 或 deep 深度。

鉴权

Authorization   string   必填

在 Authorization 请求头中以 Bearer 令牌发送服务端 API 密钥,可在控制台创建。

Authorization: Bearer <BEATAPI_API_KEY>

永久 API 密钥只能保存在可信服务端,不能写入浏览器、移动端、公开脚本、日志或截图。请求体必须使用 Content-Type: application/json。建议为每个逻辑创建请求设置唯一的 Idempotency-Key,只有完全相同的请求体才能安全复用原键。

请求体

字段名、类型和枚举值保留英文原样,用途和限制用中文说明。

本地素材无法通过公网 HTTPS URL 访问时,请先上传输入文件,再使用返回的 data.url。

video_url   string   必填

当前账户通过 POST /v1/files 上传后得到的 BeatAPI HTTPS 视频 URL。

取值与默认值: 格式 uri


prompt   string   必填

描述生成、编辑或分析目标的提示词。

取值与默认值: 长度 1–12000 字符


analysis_depth   enum<string>   选填

分析深度。standard 适合常规摘要和提取,deep 适合更密集的动作、接触和连续性推理。

取值与默认值: 可选值 standard、deep;默认值 standard


max_output_tokens   integer   选填

请求的最大输出 Token 预算。

取值与默认值: 默认值 2048;取值范围 256–8192

响应

成功请求返回 HTTP 201,响应体如下。

{
"data": {
"id": "task_va8K2qA",
"object": "task",
"task_kind": "workflow",
"capability_id": "video-analysis",
"capability_version": 1,
"workflow": "video-analysis",
"status": "queued",
"stage": "queued",
"created_at": 1787385600,
"updated_at": 1787385600,
"completed_at": null,
"output": null,
"usage": {
"credits_reserved": 0.01,
"credits_charged": 0.01,
"billable_duration_seconds": 60,
"credits_settled": 0,
"credits_refunded": 0
},
"request_id": "req_va123",
"error_code": null,
"error_message": null
}
}

分析深度与计费

standard 是默认方式,适合摘要、分段、时间戳和信息提取。任务需要更密集的动作、接触、连续性或模糊事件推理时,使用 deep。

BeatAPI 只接受当前账户通过 POST /v1/files 上传的 MP4 或 MOV,最长 600 秒。系统会先按已验证的轨道时长预留费用,完成后再根据已验证的实际输入和输出 Token 用量结算。

普通视频默认约按每秒 1 帧取样。快速动作和密集剪辑可能被遗漏,需要精确动作时建议要求返回时间戳,并使用更短的片段。

下一步

任务完成后从 data.output.text 读取分析文本,从 data.output.usage 读取 Token 用量。

错误

状态码含义与处理方式
400JSON 格式错误,或字段、取值、参数组合不被接受(bad_request,错误信息会点名字段);输入未通过内容审核时为 content_policy_violation。修正后再请求,原样重试仍会失败。
401未提供 API 密钥(missing_api_key),或密钥错误、已过期、已停用或额度已用尽(invalid_api_key,错误信息会说明是哪一种)。不要原样重试。
402余额不足(insufficient_credits):账户余额为零或低于本次请求的价格。充值后再请求。
403密钥或账户无权执行该调用(forbidden),例如免费额度不能使用该模型(充值即可解锁)、请求来源不在密钥的 IP 白名单内,或模型不在密钥的分组里。不要原样重试。
409幂等键在 24 小时内已用于其他请求体或路径,或使用该键的首个请求仍在处理中(idempotency_conflict)。只对完全相同的请求复用原键。
429请求过于频繁(rate_limit_exceeded,含免费模型限额)。按 Retry-After(也在 error.retry_after_seconds)等待后重试。
500内部异常(internal_error),可以重试;持续出现时请保留 request_id 联系支持。
503请求未能完成(processing_unavailable、processing_timeout、processing_failed 或 result_transfer_failed),未扣费,可退避重试;503 不带 Retry-After 和 retry_after_seconds。BeatAPI 不返回 502 或 504。实时接口在本部署未启用时为 realtime_disabled(不可重试),容量暂时不足时为 realtime_capacity_unavailable(可重试)。