🎉 v2.0 已发布:SQLite 数据源 · 认证系统 · 五页面工作台
aivideo.site
v2.0

生成管线与进度 API

生成管线由 GenerationManager 编排(services/generation.py),在后台线程按序执行五步管线,每步完成即写库。

进度映射

current_step中文progress_percent
script剧本创作5
images文生图20
videos图生视频40
voice语音合成70
compose视频合成85
done完成100

写库机制(SQLite 唯一数据源)

步骤写库内容
创建项目插入 projects 行(status=等待;config_snapshot = settings 全量 + 视频配置
script 完成更新 projects(status=进行中、scene_count)+ 批量插入 scenes 行
images 完成逐分镜 upsert scenes.image_url(V2.1 分镜级实时写库)+ 全量兜底
videos 完成逐分镜 upsert scenes.video_url + 全量兜底
voice 完成逐分镜 upsert scenes.voice_path / voice_duration + 全量兜底
compose 完成更新 projects(status=完成、final_video_url)
任一步失败更新 projects(status=失败、error_msg)

磁盘不再保留 script.json;所有数据以 SQLite 为准,文件路径字符串入库。

状态 / 进度接口

GET /api/projects/{id}/status
  • status(等待/进行中/完成/失败)以 DB 为准
  • current_step / progress_percent 从内存进度合并(仅进行中有值);
  • V2.2 起:status=等待且内存进度存在时返回内存 step/progress,前端立即显示 script 阶段 running。

分镜级实时进度

  • images / videos / voice 三个阶段通过 on_scene_done(scene) 回调逐分镜 UPSERT 写库;
  • 前端 3s 轮询即可看到该分镜产物,无需等待整个阶段;
  • 每个 step 末尾保留一次全量 upsert_scenes() 兜底补齐;
  • 失败分镜同样写库(status=失败),前端灰显对应卡片。

参数快照

项目创建时把 settings 全量 + 视频配置写入 projects.config_snapshot;生成时按快照构建 Agent 客户端,Agent 不直接读 settings。进行中任务保持旧参数,新任务使用新配置。

改进此文档

发现错误或想补充内容?点击在 GitHub 上编辑。