I built a stack of six image APIs in two weekends. Six clients, six rate limits, six ways a generation can silently fail. Last Tuesday I ran the same prompt through all of them and stacked the results in a grid. Five out of six were beautiful. One was correct.
The brief was simple. A 16:9 hero image for a fintech landing page: a 30-something professional at a standing desk, muted palette, abstract data in the background, no text anywhere in frame. Five of the six models produced something I would happily put in a mood board. The sixth produced the only one I could actually ship: 16:9, no text, muted palette, person looking roughly the right direction, and the abstract-data background sitting where I asked for it.
That gap is the whole story.
The metric I now use
I stopped judging these models on aesthetic quality. Aesthetic is taste, and taste is a fight nobody wins on a forum. The only thing I care about is brief adherence: did the model respect the ratio, the palette, the negative space, the "no text" instruction, the subject, the framing? A gorgeous image with the wrong aspect ratio is a reject. A flat image that hits every line of the brief is a keep.
On that axis, the six models cluster in ways that don't match their public leaderboards. The leaderboard tells you which model a thousand people upvoted the most. It does not tell you which model will respect your aspect_ratio: "16:9", your no_text: true, and your "this is a B2B audience" framing on the same run.
What I actually learned
- One model dominates for "literal" briefs. When the prompt is mostly instructions and the visual style is conventional — corporate, product, e-commerce — one of the six almost always wins, and the margin is not close. It's also not the model with the most Instagram screenshots.
- A different model wins the moment the brief asks for typography or layout. If you need legible in-image text, exact placement, or a strong graphic-design feel, the leaderboard favourite falls apart and a less popular one takes over.
- For concept art and character consistency, a third model pulls ahead. It's the slowest of the six. It is also the one where "make her wear the jacket in image 2" actually works.
- The remaining three are situational. Each is the best at one thing I rarely need, and mediocre at the five other things I do.
The mistake I see in every "X vs Y" thread is treating the question as if it has one answer. The model I'd pick for a Saturday-morning book cover is not the model I'd pick for a Monday-morning Stripe banner.
What I did about it
I got tired of running six tabs, six auth tokens, six credit balances. So I moved everything into a single browser console that exposes the same six models behind one prompt box, one credit wallet, and one button to "run on all six". I attach reference images, type the brief once, and the console gives me a grid. I keep one, the rest go to the library.
The interesting part is not the grid. It's that the grid makes the brief-adherence gap obvious in a way six separate tabs never did. When you see all six outputs side by side, you stop arguing about which model is "best" and start asking which one is best for this specific job. The console does the boring part; I do the taste part.
The cost-per-image is visible before I run, failed runs refund automatically, and I haven't opened Figma for cover work in three weeks.
The takeaway
Stop asking "what's the best AI image model". There isn't one. The right question is "which model follows the brief I actually have, today, for this specific output". And the only honest way to answer that is to put your real brief in front of all the candidates at once and let them fight.
Once you start doing that, the rankings change every project. That's the point.
Top comments (0)