The motivation was simple — every blog post needs images, and the workflow of open-separate-tool → generate → download → upload → copy-URL is tedious. This collapses it into one conversation.
What's implemented:
- Providers: Google Gemini (free tier), Fal.ai (Flux models) - Storage: Cloudflare R2 (free egress), local - Cost tracking: SQLite-backed, monthly budgets - Interactive setup wizard - In-session configuration (switch providers without restart) - 264 unit tests, CI on Node 18/20/22
What's on the roadmap: Together.ai, Replicate, HuggingFace providers. Backblaze B2 storage.
TypeScript, ~2,100 lines of production code, 37 kB package. MIT licensed.
Happy to answer questions about MCP server architecture or the design decisions.