The spark
I was driving one day listening to Naval Ravikant, and he said something that stuck with me: his best engineers are all artists. But not everyone of us actually create art!
That hit home. We spend all day building creative things in code, but most of us never touch visual art. Not because we lack interest — because the tools aren't built for how we work. AI image generation is powerful, and most of us already have the API keys. But the interfaces are all web apps and notebooks. Nothing that fits the way engineers actually think and iterate.
So I built muse — a CLI that brings AI art creation into the terminal, where we already live.
The workflow
The design mirrors how we already work: iterate fast, roll back when something breaks, get feedback, try again.
# Start with a prompt
muse new "a cozy cabin in a snowy forest, watercolor style"
# Iterate with natural language
muse tweak "add warm golden light glowing from the windows"
# Get AI critique
muse review
# Don't like it? Roll back
muse back
Every step is saved. History is immutable — muse back moves a pointer, never deletes. You can branch from any point with muse tweak --from 3.
The roast persona
Muse ships with four review personas. The fun one is roast — a sarcastic critic that evaluates your art like a code review:
muse review --persona roast
"This composition has more spaghetti than your microservices. The lighting says 'I set opacity to 0.3 and called it a day.' Rating: Request Changes. Try
muse tweak 'actually learn what contrast means'"
There's also collaborative (default, friendly), critic (formal art analysis), and technical (factual, for debugging prompt-vs-output gaps). Drop any markdown file in ~/.muse/personas/ to make your own.
The gallery
muse gallery starts a local server with a dark-themed web UI. Grid view shows all your sessions as cards. Click one to see the full iteration timeline with prompts, metadata, and reviews.
No framework — just vanilla JS, served by Python's http.server.
Providers
Bring your own API keys:
- OpenAI — DALL-E 3 for generation, GPT-4o for vision/critique
- Gemini — Gemini 2.0 Flash for both
Muse auto-detects from environment variables. Run muse providers to see what's available.
Try it
git clone https://github.com/charismaticchiu/muse.git
cd muse
uv sync
export OPENAI_API_KEY="sk-..."
uv run muse new "your wildest idea here"
GitHub: charismaticchiu/muse
Would love to hear what personas or providers you'd want to see next.

Top comments (0)