$ show crisng95/flowkit
Flow Kit is an AI video production pipeline orchestrator that manages the end-to-end workflow of creating cinematic videos via Google Flow. It consists of a FastAPI backend (Python) with SQLite persistence, a React dashboard (TypeScript, shadcn/ui) for monitoring and control, a Chrome MV3 extension that bridges the local agent to flow.google.com for batchexecute RPCs, and a worker queue for asynchronous processing. The system supports project creation, character/entity management, scene image/video generation (Veo 3, Omni Flash), AI-powered video review with contact sheets and dimension scoring, TTS narration via OmniVoice, music generation via Suno API, post-processing (concat, branding, SFX), and YouTube upload with channel rules and SEO metadata. The architecture is modular with a provider abstraction layer (Flow, assistant, muse2api), an event bus for real-time updates, and a skill-based workflow system (40+ markdown recipes) that serves as the single source of truth for AI agents (Claude Code, Codex, agy). The codebase is actively maintained with recent migrations (September 2026 Flow API migration) and a comprehensive test suite, though it carries technical debt from multiple fallback layers, hardcoded payload shapes, and tight coupling to Google Flow's internal API.
The LLM identified 4 files worth highlighting for reuse:
Implements a MediaProvider registry that allows interchangeable backends (Flow, assistant, muse2api) with capability declarations, per-provider rate limiters, and graceful degradation. The pattern is cleanly separated from business logic and can be extracted to any project requiring pluggable service backends.
An async pub/sub event bus for WebSocket distribution of pipeline events (worker ticks, request updates, URL refreshes). It is self-contained, uses asyncio primitives, and can be reused in any async Python application needing decoupled event distribution.
Encodes and decodes Google Flow's batchexecute wire format (envelope building, request builders for image/video/upscale, response readers). This is a non-trivial reverse-engineering of a proprietary RPC protocol, packaged as a reusable codec with comprehensive test coverage.
A type-safe i18n system with a canonical English dictionary, per-language partial overrides, and automatic fallback to English. The pattern uses a single source of truth for translation keys and can be extracted to any TypeScript project requiring structured multi-language support.