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 – 自動化された中国語短編動画生成パイプライン
1つのコマンドで入力、公開可能な動画が出力。 リポジトリは、トピックの発見からスクリプト作成、ビジュアル・オーディオ生成、編集、最終的に配信チャネルへ渡すまで、完全なエンドツーエンドワークフローを実装しています。すべてのステップは、認証、ルーティング、回路遮断、観測性を提供する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ですべてをパッケージ化(オーケストレーター、ワーカー、ゲートウェイ、DB、Redis、MinIO)。
主な機能(READMEに記載)
- 7層パイプライン:各層は個別に置き換え可能。
- マルチモデルフェイルオーバー:プロバイダー(DeepSeek、Qwen、GLMなど)が利用不可の場合、自動的にローテーション。
- AI整合性ガバナンス:
- キャラクターのビジュアル整合性を保つためのプロンプトアンカー。
- オフプロンプトフレームを早期に除外するCLIPベースのテキスト-画像ゲート。
- 4段階の音声-動画同期修復(テンポ調整、動画パディング、ナレーション再作成)。
- フルスタック観測性:
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
# DBマイグレーションの適用
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
どのような人にとって有用か
- コンテンツクリエイター:大規模に中国語のショートビデオ(ニュース解説、解説動画、物語、事実の短い紹介)を生成したい人。
- プロダクトチーム:Douyin、Kuaishou、または企業内フィード向けのAI駆動型動画ボットを開発している人。
- 研究者/開発者:マルチモーダル生成パイプライン、フェイルオーバー戦略、AIガバナンス(プロンプトアンカー、CLIPゲート)を実験したい人。
ドキュメントと追加リーディング
architecture.md– 詳細なデータフロー図とコンポーネントの責任。docs/operations-manual.md– Feishuとの統合方法、日常メンテナンス、システム監視の手順。gateway/README.md– Javaゲートウェイの設定、認証、メータリングの詳細。- テストスイート(
tests/)はDocker Compose経由で実行可能。
ライセンス
MIT – LICENSE を参照。
結論:myAiVideos は、複数のLLM、テキストから画像/動画モデル、TTSサービスを統合した、プロダクションレベルのオープンソースフレームワークです。自動的に中国語短編動画を生成するための堅牢で観測可能なパイプラインを提供します。これは単なるチュートリアルやリンク集ではなく、本格的なAI指向ソフトウェアプロジェクトです。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト