myccarl/ai-shortVideo-pipeline

End-to-end AI short-video production pipeline. FastAPI orchestration + Spring Boot gateway with multi-model failover, circuit breaker, metering, and full-stack observability. AI quality gating: prompt anchoring, CLIP consistency, AV sync auto-rescue.

myAiVideos – 自动化中文短视频生成流水线

一条命令输入,发布就绪视频输出。 该仓库实现了一个完整的端到端工作流,从主题发现、脚本撰写、视觉与音频生成、后期制作,到最终交付分发渠道。所有步骤均由 FastAPI 服务和 Java Spring-Boot 网关协同编排,提供认证、路由、熔断和可观测性支持。


项目功能

  • 主题发现 (L1) – 拉取热点新闻或趋势内容并进行排序。
  • 创意生成 (L2) – 构建脚本/提示词,锚定屏幕上角色的视觉形象。
  • 视觉生成 (L3) – 使用文本到图像或图像到视频模型(DeepSeek、Kling、MuAPI 等),并运行基于 CLIP 的一致性检查。
  • 音频生成 (L4) – 使用 Volcengine 或 MiniMax TTS 合成语音,与背景音乐混音,并对齐时长。
  • 后期制作 (L5) – 自动 AV 同步修复、字幕生成、封面图创建。
  • 分发 (L6) – 将最终 MP4 打包并返回调用方(或推送到机器人)。
  • 优化 (L7) – 对结果评分,并存储反馈以供后续运行使用。

该流水线是分层且解耦的;每个阶段可独立替换为不同模型或服务,而不影响其他阶段。


核心架构

  • FastAPI (Python) – 编排引擎。处理传入的 Webhook 请求,将作业状态存储在 PostgreSQL 中,通过 Redis 队列任务,并使用 ARQ 运行后台工作进程。
  • Java Spring-Boot 网关 – 位于 Python API 前端。验证 JWT,传播 trace_id 实现跨语言可观测性,应用 Resilience4j 熔断器,使用 Caffeine 缓存结果,并通过 AOP 切面记录令牌使用量。
  • 可观测性 – Langfuse 捕获完整调用树;Prometheus 从 Java 网关抓取指标。
  • 数据存储 – PostgreSQL 用于持久化元数据,Redis 用于队列,MinIO 用于生成的媒体资产。
  • 容器化 – 所有组件均打包在 Docker Compose 中(编排器、工作进程、网关、数据库、Redis、MinIO)。

核心特性(详见 README)

  • 七层流水线,各层可独立替换。
  • 多模型故障转移,当提供方(DeepSeek、Qwen、GLM 等)不可用时自动轮换。
  • AI 一致性治理:
    • 提示词锚定,保持角色视觉一致性。
    • 基于 CLIP 的文本-图像门控,早期剔除偏离提示的帧。
    • 四级音视频同步修复(节奏调整、视频填充、旁白重写)。
  • 全栈可观测性:trace_id 从 Java 流向 Python;Langfuse 展示调用树。
  • 计量与限流:无需代码变更即可捕获令牌使用量,按租户聚合。
  • 生产就绪的 UX:通过 Server-Sent Events 流式传输进度,支持单段再生,滚动日志归档。

技术栈快照

层级 技术
编排(Python) FastAPI, asyncio, Pydantic, SQLAlchemy (asyncpg), Alembic, ARQ
网关(Java) Spring Boot 3.5, WebClient, Resilience4j, Caffeine, Prometheus
前端 Vue 3, Vite, Vue Flow, Pinia, Tailwind
数据 PostgreSQL, Redis, MinIO
可观测性 Langfuse, Prometheus
AI 模型 DeepSeek, Zhipu GLM-4V, Kling v2.5, Volcengine / MiniMax TTS, faster-whisper
容器化 Docker Compose

快速入门

# 克隆并复制环境模板
git clone <your-fork>.git && cd myAiVideos
cp .env.example .env   # 填写 DeepSeek、GLM、Kling、TTS 等 API 密钥

# 启动核心服务(Postgres、Redis、FastAPI 编排器、ARQ 工作进程)
docker compose up -d postgres redis orchestrator worker

# 应用数据库迁移
docker compose exec -T orchestrator alembic upgrade head

# (可选)启动 Java 网关
docker compose up -d gateway

# 启动 Vue 前端
cd sl-vue && npm install && npm run dev

健康检查端点:

  • FastAPI: http://localhost:8000/health
  • Java 网关: http://localhost:8080/actuator/health
  • 前端: http://localhost:5173

谁会使用这个项目

  • 内容创作者:需要大规模生成中文短视频(新闻评论、解释类、叙事、事实片段)的人。
  • 产品团队:为抖音、快手或企业内部信息流构建 AI 驱动视频机器人的团队。
  • 研究人员/开发者:正在实验多模态生成流水线、故障转移策略或 AI 治理(提示锚定、CLIP 门控)的人。

文档与进一步阅读

  • architecture.md – 详细数据流图与组件职责说明。
  • docs/operations-manual.md – 如何集成飞书、运行日常维护、监控系统。
  • gateway/README.md – Java 网关配置、认证与计量详情。
  • 测试套件(tests/)可通过 Docker Compose 运行。

许可证

MIT – 详见 LICENSE。


总结:myAiVideos 是一个生产级、开源的框架,将多个 LLM、文本到图像/视频模型和 TTS 服务整合为一个稳健、可观测的流水线,用于自动创建中文短视频。它是一个真正的 AI 导向软件项目,而非简单的教程或链接集合。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目