jack's blog

My submission for the nano-banana Hackathon!

My submission for the Gemini Nano banana Hackathon.

September 06, 2025

What is it?

Last night on Twitter, Google posted about a new global hackathon on their recently released nano-banana image generation model (gemini-2.5-flash-preview).

More than anything, I was curious to test their "Apps" feature built into their AI Studio so I wanted to put Gemini 2.5 Pro to the test. I prompted it to generate me a tool that would allow a user to input their profile picture, then get it back in the season/event of their choice!

This worked first try, so I then iterated on it to add smaller features, such as OpenRouter support (for people who use that over the official Gemini API - especially seeing that this free period of nano-banana is going to end at the end of tomorrow.)

Demo on my own profile picture:

This works pretty nicely, here are some examples of profile pictures I got out of it:

 My social media profile picture in the style of halloween. The "J" is cut out of a purple moon with an orange glow around it. In the background is a green glowing moon, and many bats flying, as well as spiders hanging out of cobwebs in the upper corners.
 My social media profile picture in the theme of Christmas. The background is green with snowflakes in paler green colours. In the centre is a grey circle with a "J" cut out of it with a silver tinsel outline. Around the circle itself is holly and mistletoe with bells.

Demo on Logan's profile picture:

I even attempted this on Logan's profile picture from his Twitter account to see how this would work on human examples:

 A side-by-side comparison of Logan's regular Twitter/X profile picture (left) and a "Halloween" themed one on the right where he has face paint on, and behind him is an entire Halloween scene.

This one feels like it worked a little less well, it feels more like AI slop, but it still works! I just think it works nicer on 2D designs/cartoons.

Behind the scenes - model use:

It uses the nano-banana model (or more professionally known as gemini-2.5-flash-image) behind the scenes and is a pretty good example of how good it is at consistency, all these images you get out are extremely similar to the ones you've put in.

Here's another example, an unedited demo video showing it working in real time. I decided to give Xbox a free Halloween profile picture 🀣

jack's avatar
jack
4mo

here it is creating @xbox.com a free Halloween profile picture! hehe

Thumbnail from embedded video. Go to Bluesky to see the full post.
This media is not supported...
See the full post on Bluesky!

How to use & source code:

In conclusion, my entry for this hackathon is available on my site at https://pfp-gen.j4ck.xyz/ - you can paste in a Gemini API key (get one here) or use an OpenRouter API key (get one here). I've not tested its security, but it is able to locally save your API keys in your browser with a password of your choice (to load on refresh, go back to Settings and enter this password then click "Load").

Other than the respective APIs (Google Gemini, OpenRouter), there is no server - your API key(s) won't save unless you do what I mentioned above. It's open source on GitHub and is deployed to my site through Cloudflare Pages.

Subscribe to jack's blog
to get updates in Reader, RSS, or via Bluesky Feed
Awe Dropping, or.. Dropping? - Apple Event September 9, 2025