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

架构总览

分层架构

┌────────────────────────────────────────────┐
              表现层 (Presentation)          │
       Vue 3 前端 + HTML5 + CSS3
├────────────────────────────────────────────┤
              接口层 (API)                   │
       FastAPI RESTful API (:8000)          │
       CORS 中间件 / Pydantic 校验
├────────────────────────────────────────────┤
              业务层 (Business)              │
       5 步管线编排(GenerationManager)
       项目/场景/任务管理 + SQLite 持久化
├────────────────────────────────────────────┤
              引擎层 (AI Engine)             │
   ScriptWriter  ImageCreator
   VideoCreator  VideoComposer
├────────────────────────────────────────────┤
              服务层 (Services)              │
   LLMClient  ComfyUIImgClient
   ComfyUIVidClient  VoiceActor
   DB(SQLite DAO)   FFmpegUtils
├────────────────────────────────────────────┤
              基础设施层 (Infrastructure)     │
   FFmpeg/FFprobe(video-platform/bin 内置)│
   文件系统 I/O SQLite .venv 环境
└────────────────────────────────────────────┘

5 Agent 管线

Agent文件职责
ScriptWriteragents/script_writer.py调用 LLM 生成多分镜剧本
ImageCreatoragents/image_creator.pyComfyUI 文生图(z-image-turbo)
VideoCreatoragents/video_creator.pyComfyUI 图生视频(Wan2.2 I2V)
VoiceActorservices/voice_actor.pyIndexTTS 配音
VideoComposeragents/video_composer.pyFFmpeg 拼接 + 字幕合成

数据流

用户请求 POST /api/projects(写 SQLite + 配置快照)
 POST /generate 后台线程 GenerationManager.run()
 ScriptWriter ImageCreator VideoCreator VoiceActor VideoComposer
 每步完成写库(短事务)→ 前端 3s 轮询 status
 status=completed 结果页预览/下载

关键设计

  • SQLite 唯一数据源:V2.0 起废除 script.json,全部数据以数据库为准;
  • 创建时快照config_snapshot 保存 settings 全量 + 视频配置,进行中任务不受配置修改影响;
  • 单并发创作:全局互斥锁,同一时间仅 1 个项目生成;
  • FFmpeg 内置video-platform/bin/ 随项目分发,无需单独安装;
  • ComfyUI 拆分:文生图(comfyui.aivideo.site)与图生视频(wan.aivideo.site)独立服务与客户端。
改进此文档

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