feat(ai-avatar): finalize 支持 cover_url/video_title + 兜底自动抽帧 #2288
Reference in New Issue
Block a user
Delete Branch "feat/ai-avatar-finalize-cover"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
背景
配合前端修复「AI数字人选封面后点完成视频没入库/封面为空」的 Bug。
改动
FinalizeRenderRequest,含两个可选字段:cover_url: 用户选定的封面公网 URL(本地封面需前端先 OSS 直传拿公网 URL;blob:/data: URL 后端检测后忽略)video_title: 成片库展示标题,覆盖默认AI数字人_{job_id[:8]}body.cover_url>job.output_cover_url(smart-cover 已写入)> 兜底generate_smart_cover自动抽帧output_video_url非空,错误码对齐 servicejob.cover_config+job.output_cover_urlvideo_title形参覆盖默认成片名前端联调
POST /ai-avatar/render/{job_id}/finalize,body 可选{cover_url, video_title}POST /upload/direct/prepare+complete直传 OSS 拿公网 URL,再 finalize 传 cover_url验证
- 新增 FinalizeRenderRequest schema: cover_url / video_title 均可选 - finalize 端点接受 JSON body (Body default=空对象,老客户端空body兼容) - 封面三级优先级: body.cover_url > job.output_cover_url(smart-cover) > 兜底 generate_smart_cover 自动抽帧 - 非HTTP(S) URL (blob:/data:) 检测后忽略,避免破图入库 - service.finalize_job / _persist_to_library 新增 video_title 参数覆盖默认 AI数字人_{id} - 路由层提前校验 output_video_url 非空,错误码对齐 service 层🚀 预览环境已部署
🗑️ 预览环境已清理
PR #2288 已关闭或合并,对应的预览环境已被清理。