My submission for the nano-banana Hackathon!

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:

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:

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 🤣

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.