How lynh-drill/flowkit works
FLOW KIT turns story projects into AI-generated, narrated videos through a FastAPI agent, a signed-in Chrome Flow bridge, background generation and review services, and a persistent project pipeline. The dashboard drives and monitors that workflow, while the extension supplies browser-authenticated Flow requests. README capabilities include reference and scene images, video modes, upscale, TTS, final assembly, thumbnails, and YouTube-ready metadata; several internals are represented at their documented subsystem path because their source was not sampled. Edges follow sampled calls or explicit README descriptions.
Main entry points: processor.py Request worker · crud.py Project data access · main.py FastAPI server · background.js Chrome browser bridge
Components 26
Dashboard
- Ops dashboard
dashboard/src/App.tsx - Scene pipeline
dashboard/src/components/pipeline/PipelineView.tsx - Dashboard API client
dashboard/src/api/client.ts - Dashboard live events
dashboard/src/api/useWebSocket.ts
Agent API
- FastAPI server
agent/main.py - Project endpoints
agent/api/projects.py - Scene endpoints
agent/api/scenes.py - Generation requests
agent/api/requests.py - Review endpoints
agent/api/reviews.py - Dashboard WebSocket
agent/main.py - Event bus
agent/services/event_bus.py
Generation Pipeline
- Request worker
agent/worker/processor.py - Batch orchestration
agent/services/flow_batch.py - Scene chaining
agent/services/scene_chain.py - Narration TTS
agent/services/tts.py - Video assembly
agent/services/post_process.py - AI video review
agent/services/video_reviewer.py - Result handling
agent/sdk/services/result_handler.py
Project State
- SQLite project state
agent/db/schema.py - Project data access
agent/db/crud.py
Flow Integration
- Flow client
agent/services/flow_client.py - Chrome browser bridge
extension/background.js
Other components
- Project creator
- Google Flow
- YouTube publishing
- Claude Vision
Connections 34
- Project creator → Ops dashboard: drives
- Ops dashboard → Scene pipeline: renders
- Scene pipeline → Dashboard API client: fetches data
- Dashboard API client → FastAPI server: HTTP requests
- FastAPI server → Project endpoints: routes
- FastAPI server → Scene endpoints: routes
- FastAPI server → Generation requests: routes
- FastAPI server → Review endpoints: routes
- Project endpoints → Project data access: reads/writes
- Scene endpoints → Project data access: reads/writes
- Generation requests → Project data access: queues
- Project data access → SQLite project state: reads/writes
- Generation requests → Request worker: dispatches
- Request worker → Project data access: loads jobs
- Request worker → Batch orchestration: executes generation
- Request worker → Result handling: applies results
- Batch orchestration → Flow client: requests media
- Batch orchestration → Scene chaining: chains scenes
- Scene chaining → Flow client: requests generation
- Result handling → Project data access: updates assets
- Flow client → Chrome browser bridge: dispatches RPC
- Chrome browser bridge → Google Flow: executes RPC
- Google Flow → Chrome browser bridge: returns media
- Chrome browser bridge → Flow client: delivers response
- Request worker → Narration TTS: generates narration
- Request worker → Video assembly: assembles video
- Video assembly → YouTube publishing: publishes output
- Review endpoints → AI video review: reviews scenes
- AI video review → Claude Vision: analyzes frames
- Ops dashboard → Dashboard live events: subscribes
- Dashboard live events → Dashboard WebSocket: connects
- Dashboard WebSocket → Event bus: subscribes
- Request worker → Event bus: emits updates
- Event bus → Dashboard WebSocket: streams events