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 导向软件项目,而非简单的教程或链接集合。
相关
- 项目
- 项目
- 项目
- 项目
- 项目