How thesmallhancat/flow2api works
Flow2API exposes Flow image/video generation through OpenAI- and Gemini-compatible APIs, with an admin interface for configuring accounts and service settings. The main request path accepts and normalizes a client request, selects an account, submits work to Flow, and returns generated media or streamed progress. Token refresh, concurrency limits, proxy configuration, and captcha support underpin this path; management and monitoring are separate product capabilities. Some wiring is inferred from documented behavior because excerpts are partial.
Main entry points: generation_handler.py Generation handler · admin.py Admin API · main.py Application setup · flow_client.py Flow client
Components 20
API and UI
- API routes
src/api/routes.py - Admin API
src/api/admin.py - Admin and test UI
static
Generation
- Generation handler
src/services/generation_handler.py - Flow client
src/services/flow_client.py - Media cache
src/services/file_cache.py
Accounts and runtime
- Token manager
src/services/token_manager.py - SQLite database
src/core/database.py - Protocol login
src/services/protocol_login.py - Load balancer
src/services/load_balancer.py - Concurrency manager
src/services/concurrency_manager.py - Proxy manager
src/services/proxy_manager.py - Captcha services
src/services/browser_captcha.py - Captcha extension
extension/background.js
Management and monitoring
- Authentication
src/core/auth.py - Monitoring
src/core/monitoring.py - Application setup
src/main.py
Other components
- API client
- Google Flow
- Captcha providers
Connections 24
- API client → API routes: submits request
- API routes → Authentication: verifies key
- API routes → Generation handler: dispatches generation
- Generation handler → Load balancer: selects account
- Generation handler → Concurrency manager: checks limits
- Generation handler → Token manager: gets valid token
- Generation handler → Flow client: submits generation
- Flow client → Google Flow: sends Flow requests
- Flow client → Proxy manager: gets proxy settings
- Generation handler → Media cache: caches media
- Token manager → SQLite database: reads and updates tokens
- Token manager → Protocol login: refreshes session
- Protocol login → Google Flow: authenticates
- Admin API → Authentication: checks admin credentials
- Admin API → SQLite database: manages settings
- Admin API → Token manager: manages tokens
- Admin and test UI → Admin API: uses management API
- Application setup → API routes: registers routes
- Application setup → Admin API: registers routes
- Application setup → SQLite database: initializes storage
- Application setup → Monitoring: exposes metrics
- Flow client → Captcha services: requests captcha support
- Captcha services → Captcha providers: submits challenge
- Captcha extension → Captcha services: provides browser solving