YYZC CapCut API — CapCut(剪映)自動化API

Web

概要

YYZC CapCut APIは、CapCut(中国名:剪映)を対象にした自動化クラウド編集APIです。FastAPIで非同期APIを提供し、Huey+Redisでジョブをキューイングしてバックグラウンド処理を行います。素材は画像・音声・動画・テキストに対応し、FFmpegでのトランスコードや合成、さらにWindows上のuiautomationを使ってローカルなCapCutクライアントを操作することで、AI生成素材の取り込み〜編集〜自動書き出しまでの一連を自動化します。

GitHub

リポジトリの統計情報

  • スター数: 2
  • フォーク数: 0
  • ウォッチャー数: 2
  • コミット数: 3
  • ファイル数: 13
  • メインの言語: Python

主な特徴

  • FastAPIベースの非同期HTTP API:高性能で拡張しやすいAPIエンドポイントを提供。
  • 非同期タスク処理:HueyとRedisで編集ジョブや変換処理をバックグラウンド実行。
  • メディア処理連携:FFmpegを利用したトランスコード、結合、音量調整などの自動処理。
  • UI自動化での統合:uiautomationを用いてWindowsのCapCutを操作し、ローカルアプリでの最終編集や書き出しを実現。

技術的なポイント

本プロジェクトは「APIによるジョブ管理」と「ローカル/クラウドでのメディア処理」を組み合わせたハイブリッド設計が特徴です。FastAPIで受け取った編集リクエストはHueyキューに投入され、Redis上でジョブを分散処理。バックエンド処理ではFFmpegを用いたリサイズ、トランスコード、音声合成などの重いメディア作業を実行し、必要に応じて一時ファイルを作成します。一方、CapCut固有の高度な編集やエフェクト適用、GUIベースの書き出しはuiautomationを通じてWindows上の剪映を操作して実行します。データ永続化はSQLite(capcut_api.db)で行い、alembicでスキーマ管理を行うため小規模デプロイやプロトタイプに適します。開発はPython 3.11以上を想定、uvによるモダンなパッケージ管理と組み合わせることでローカル開発〜本番運用までのワークフローが整備されています。セキュリティと運用面では、UI自動化を伴うためWindows環境のアクセス管理、Redis/DBの認証、FFmpeg実行時の入力検証などが重要になります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: Gitで無視するファイル定義(環境ファイルやビルド成果物)。
  • README.md: プロジェクトの概要、セットアップと実行方法の説明(中国語中心)。
  • alembic.ini: Alembicの設定ファイル(マイグレーション管理)。
  • alembic: dir — データベースマイグレーションスクリプトを格納。
  • capcut_api.db: file — SQLiteの実データベースファイル(プロトタイプ向けの永続化)。
  • main.py: file — FastAPIアプリのエントリポイント。ルーティングやAPIの起点。
  • config.py: file — アプリケーション設定(Redis接続、パス、外部サービス設定など)。
  • run_worker.py: file — Hueyワーカーを起動するスクリプト(バックグラウンドジョブ実行)。
  • pyJianYingDraft/: dir — 剪映草稿操作に関するライブラリやラッパー(CapCut特有の処理を抽象化)。
  • その他(タスク定義、ユーティリティ、FFmpegラッパー等): 他 8 ファイル

各ファイルは、APIリクエスト受け取り→ジョブ化→メディア処理→(必要なら)UI自動化でCapCutに流し込む、という一連のパイプラインを実現するために役割分担されています。alembic/SQLiteの組み合わせは簡易デプロイ向けで、将来はPostgres等への移行が見込めます。

まとめ

FastAPI+Hueyでメディア自動編集を実現するプロトタイプ的な実装。

リポジトリ情報:

READMEの抜粋:

🎬 YYZC CapCut API 项目

📋 项目概述

YYZC CapCut API 是一个基于 FastAPI 构建的剪映(CapCut)自动化API服务,提供强大的云端视频剪辑能力。该项目能够对AI生成的素材(图片、音频、视频、文字)进行自动化处理和剪辑。

🏗️ 技术架构

核心技术栈

  • Web框架: FastAPI (异步高性能)
  • 任务队列: Huey + Redis (异步任务处理)
  • Python版本: 3.11+
  • 包管理: uv (现代Python包管理器)
  • 媒体处理: FFmpeg
  • UI自动化: uiautomation (Windows剪映控制)

项目结构

capcut-api/
├── 🎯 main.py                 # 应用入口点
├── ⚙️ config.py              # 配置文件
├── 🔄 run_worker.py           # 任务队列工作进程
├── 📦 pyJianYingDraft/        # 剪映草...