调用模型,返回事件的时间线

This commit is contained in:
2026-05-27 16:02:44 +08:00
parent 556fa2f3ca
commit 883f09e6df
12 changed files with 1230 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
package video
import "github.com/gogf/gf/v2/frame/g"
// ---------- 提交视频分析任务 ----------
// AnalysisReq 提交视频分析任务请求
type AnalysisReq struct {
g.Meta `path:"/video/analysis" method:"post" tags:"视频分析" summary:"提交视频分析任务" dc:"接收视频链接数组后台异步串行分析立即返回taskId"`
VideoURLs []string `json:"video_urls" v:"required#视频URL列表不能为空" dc:"视频URL列表"`
CallbackURL string `json:"callback_url" v:"required#回调地址不能为空" dc:"回调地址分析完成后POST结果到该地址"`
}
// CreateAnalysisTaskRes 创建视频分析任务响应
type CreateAnalysisTaskRes struct {
TaskID string `json:"taskId" dc:"任务ID"`
}
// ---------- 查询任务进度/结果 ----------
// GetAnalysisTaskReq 查询视频分析任务请求
type GetAnalysisTaskReq struct {
g.Meta `path:"/video/analysis/task/{taskId}" method:"get" tags:"视频分析" summary:"查询分析任务结果" dc:"根据taskId查询视频分析任务的进度和结果"`
TaskID string `json:"taskId" dc:"任务ID"`
}
// AnalysisDetailItem 单个视频分析结果项
type AnalysisDetailItem struct {
VideoURL string `json:"video_url" dc:"原始视频URL"`
VideoSavePath string `json:"video_save_path" dc:"视频本地保存路径"`
Status string `json:"status" dc:"状态: pending/success/failed"`
CaptionResult interface{} `json:"caption_result,omitempty" dc:"Caption接口返回结果"`
FailReason string `json:"fail_reason,omitempty" dc:"失败原因"`
}
// GetAnalysisTaskRes 查询视频分析任务响应
type GetAnalysisTaskRes struct {
TaskID string `json:"taskId" dc:"任务ID"`
Status string `json:"status" dc:"状态: pending/processing/success/failed"`
Total int `json:"total" dc:"视频总数"`
Processed int `json:"processed" dc:"已处理数"`
SuccessCount int `json:"successCount" dc:"成功数"`
FailedCount int `json:"failedCount" dc:"失败数"`
List []AnalysisDetailItem `json:"list" dc:"视频详情列表"`
ErrorMessage string `json:"errorMessage,omitempty" dc:"错误信息"`
CreatedAt int64 `json:"createdAt" dc:"创建时间戳"`
}