Why I Still Prefer Sora to Nano Banana for Image Generation
Source: Dev.to
I’m using AI to create cover images only for blog posts, so I don’t have high expectations. I thought that Google was better than OpenAI at first, but I’ve changed my mind: I don’t know whether it’s a matter of hidden system prompts or an LLM‑model issue. But I’m noticing huge limits in Gemini.
Sora vs. Nano Banana for Images
I’m not interested in generating videos – I only need cool pictures to use as cover images for my blog posts. I’m definitely not approaching this process as a professional; I’m using the services exactly as an end user would, and often quite badly.
- I don’t write “prompts” in a technical sense; I just describe at a high level what I want, as I would when talking to a person.
- I’m using the free versions of the services – no subscription, just the built‑in features that each platform now provides.
I’ve noticed that Nano Banana seems to be constrained by a system prompt that limits its capabilities a priori. No matter how I vary my description, it keeps producing similar images – good, but not great, because I want pictures that actually represent the content of my articles.
Same Prompt, Different Results
Sora and Nano Banana use different models. I’m in Italy, so I can’t use Sora 2. To compare them, I sent the exact same prompt to both services (free tiers only). My description is intentionally high‑level and generic:
A picture to represent the challenge between Sora and Nano Banana as
image generators powered by AI.
Nano Banana result
(the cover image of this post)
Sora result
My opinion: the Sora image looks far better, even though I didn’t change a single word between the two generations.
When I try Nano Banana Pro from my own Google AI Studio instance, the standard version only outputs a smaller square picture. The differences are still minor, and I still prefer Sora’s result, even though it’s based on an older GPT model.
This Is Not a Benchmark
I’m not trying to publish a benchmark. I’m simply sharing the experience of a regular user testing two different services as a prospect. I could rewrite the prompt from scratch to get better results, but that’s not my purpose here. (I already write about prompt‑optimisation in another post.)
From a developer’s perspective, I agree: this is not a professional approach. Comparing Sora and Nano Banana directly is imperfect because they run on different models and infrastructures.
Adapting the prompt to the model and service would be the right thing to do, but I wanted an immediate result – I left most of the details to the LLM itself, added no filters, and wrote just two lines of text.
Nano Banana and Its Pro Version
The cover image for this post was generated by the built‑in Nano Banana version in the DEV editor. When I used the standard Nano Banana interface, I got a very different picture, which makes me think Forem adds an extra layer between the model and the prompt.
I didn’t give the LLM any percentage or style instructions. Interestingly, Nano Banana Pro rated its rival (Sora) higher – perhaps a strategic bias? The image also carries a Gemini watermark in the lower‑right corner, which appears because I’m on the free tier. Overall, I’m far from satisfied with it.
I Will Continue to Use Sora
Regardless of tier, Gemini is still producing worse pictures for my needs. GPT currently offers the best results, even though I can’t access the very latest model. It would be interesting to test the APIs with a proper prompt to evaluate performance more rigorously – something I plan to do in the future.
- OpenAI’s Responses API now includes image generation, while the older Completions API does not.
- I’ve never used Google’s Gemini for image generation, so I’m not sure whether version 2.5 or 3 differ in capability.
- Google has drastically reduced the free‑tier limits, so I can’t “play” with them any longer.
That’s why I’m not trying to adopt a professional workflow. The fastest way for me to get a decent picture is to open Sora’s web interface – what most end users are doing. Next, I’ll give a chance to TranslateGemma, but for now I’ll stick with Sora.
It's a completely different use case, and there I will be more technical.
If you’d like, follow me on [**Bluesky**](https://bsky.app/profile/fedtti.bsky.social) and/or [**GitHub**](https://github.com/fedtti) for more content. I enjoy networking. 
