

Picture by Creator | Gemini (nano-banana self portrait)
# Introduction
Picture era with generative AI has grow to be a extensively used software for each people and companies, permitting them to immediately create their meant visuals while not having any design experience. Primarily, these instruments can speed up duties that will in any other case take a major period of time, finishing them in mere seconds.
With the development of know-how and competitors, many fashionable, superior picture era merchandise have been launched, similar to Steady Diffusion, Midjourney, DALL-E, Imagen, and lots of extra. Every presents distinctive benefits to its customers. Nevertheless, Google just lately made a major impression on the picture era panorama with the discharge of Gemini 2.5 Flash Picture (or nano-banana).
Nano-banana is Google’s superior picture era and enhancing mannequin, that includes capabilities like life like picture creation, a number of picture mixing, character consistency, focused prompt-based transformations, and public accessibility. The mannequin presents far larger management than earlier fashions from Google or its opponents.
This text will discover nano-banana’s capability to generate and edit photographs. We’ll reveal these options utilizing the Google AI Studio platform and the Gemini API inside a Python setting.
Let’s get into it.
# Testing the Nano-Banana Mannequin
To comply with this tutorial, you have to to register for a Google account and sign up to Google AI Studio. Additionally, you will want to amass an API key to make use of the Gemini API, which requires a paid plan as there isn’t any free tier obtainable.
If you happen to favor to make use of the API with Python, be sure that to put in the Google Generative AI library with the next command:
As soon as your account is ready up, let’s discover methods to use the nano-banana mannequin.
First, navigate to Google AI Studio and choose the Gemini-2.5-flash-image-preview
mannequin, which is the nano-banana mannequin we can be utilizing.
With the mannequin chosen, you can begin a brand new chat to generate a picture from a immediate. As Google suggests, a basic precept for getting the perfect outcomes is to describe the scene, not simply listing key phrases. This narrative strategy, describing the picture you envision, usually produces superior outcomes.
Within the AI Studio chat interface, you may see a platform just like the one under the place you’ll be able to enter your immediate.
We’ll use the next immediate to generate a photorealistic picture for our instance.
A photorealistic close-up portrait of an Indonesian batik artisan, arms stained with wax, tracing a flowing motif on indigo material with a canting pen. She works at a picket desk in a breezy veranda; folded textiles and dye vats blur behind her. Late-morning window gentle rakes throughout the material, revealing effective wax traces and the grain of the teak. Captured on an 85 mm at f/2 for light separation and creamy bokeh. The general temper is targeted, tactile, and proud.
The generated picture is proven under:
As you’ll be able to see, the picture generated is life like and faithfully adheres to the given immediate. If you happen to favor the Python implementation, you should use the next code to create the picture:
from google import genai
from google.genai import varieties
from PIL import Picture
from io import BytesIO
from IPython.show import show
# Exchange 'YOUR-API-KEY' together with your precise API key
api_key = 'YOUR-API-KEY'
consumer = genai.Shopper(api_key=api_key)
immediate = "A photorealistic close-up portrait of an Indonesian batik artisan, arms stained with wax, tracing a flowing motif on indigo material with a canting pen. She works at a picket desk in a breezy veranda; folded textiles and dye vats blur behind her. Late-morning window gentle rakes throughout the material, revealing effective wax traces and the grain of the teak. Captured on an 85 mm at f/2 for light separation and creamy bokeh. The general temper is targeted, tactile, and proud."
response = consumer.fashions.generate_content(
mannequin="gemini-2.5-flash-image-preview",
contents=immediate,
)
image_parts = [
part.inline_data.data
for part in response.candidates[0].content material.components
if half.inline_data
]
if image_parts:
picture = Picture.open(BytesIO(image_parts[0]))
# picture.save('your_image.png')
show(picture)
If you happen to present your API key and the specified immediate, the Python code above will generate the picture.
Now we have seen that the nano-banana mannequin can generate a photorealistic picture, however its strengths prolong additional. As talked about beforehand, nano-banana is especially highly effective for picture enhancing, which we’ll discover subsequent.
Let’s attempt prompt-based picture enhancing with the picture we simply generated. We’ll use the next immediate to barely alter the artisan’s look:
Utilizing the offered picture, place a pair of skinny studying glasses gently on the artisan’s nostril whereas she attracts the wax traces. Guarantee reflections look life like and the glasses sit naturally on her face with out obscuring her eyes.
The ensuing picture is proven under:
The picture above is an identical to the primary one, however with glasses added to the artisan’s face. This demonstrates how nano-banana can edit a picture based mostly on a descriptive immediate whereas sustaining total consistency.
To do that with Python, you’ll be able to present your base picture and a brand new immediate utilizing the next code:
from PIL import Picture
# This code assumes 'consumer' has been configured from the earlier step
base_image = Picture.open('/path/to/your/picture.png')
edit_prompt = "Utilizing the offered picture, place a pair of skinny studying glasses gently on the artisan's nostril..."
response = consumer.fashions.generate_content(
mannequin="gemini-2.5-flash-image-preview",
contents=[edit_prompt, base_image])
Subsequent, let’s take a look at character consistency by producing a brand new scene the place the artisan is trying immediately on the digital camera and smiling:
Generate a brand new and photorealistic picture utilizing the offered picture as a reference for identification: the identical batik artisan now trying up on the digital camera with a relaxed smile, seated on the similar picket desk. Medium close-up, 85 mm look with gentle veranda gentle, background jars subtly blurred.
The picture result’s proven under.
We have efficiently modified the scene whereas sustaining character consistency. To check a extra drastic change, let’s use the next immediate to see how nano-banana performs.
Create a product-style picture utilizing the offered picture as identification reference: the identical artisan presenting a completed indigo batik material, arms prolonged towards the digital camera. Gentle, even window gentle, 50 mm look, impartial background muddle.
The result’s proven under.
The ensuing picture reveals a totally totally different scene however maintains the identical character. This highlights the mannequin’s capability to realistically produce assorted content material from a single reference picture.
Subsequent, let’s attempt picture model switch. We’ll use the next immediate to vary the photorealistic picture right into a watercolor portray.
Utilizing the offered picture as identification reference, recreate the scene as a fragile watercolor on cold-press paper: unfastened indigo washes for the fabric, gentle bleeding edges on the floral motif, pale umbers for the desk and background. Preserve her pose holding the material, light smile, and spherical glasses; let the veranda recede into gentle granulation and visual paper texture.
The result’s proven under.
The picture demonstrates that the model has been remodeled into watercolor whereas preserving the topic and composition of the unique.
Lastly, we’ll attempt picture fusion, the place we add an object from one picture into one other. For this instance, I’ve generated a picture of a lady’s hat utilizing nano-banana:
Utilizing the picture of the hat, we’ll now place it on the artisan’s head with the next immediate:
Transfer the identical lady and pose outdoor in open shade and place the straw hat from the product picture on her head. Align the crown and brim to the pinnacle realistically; bow over her proper ear (digital camera left), ribbon tails drifting softly with gravity. Use gentle sky gentle as key with a delicate rim from the brilliant background. Preserve true straw and lace texture, pure pores and skin tone, and a plausible shadow from the brim over the brow and high of the glasses. Preserve the batik material and her arms unchanged. Preserve the watercolor model unchanged.
This course of merges the hat picture with the bottom picture to generate a brand new picture, with minimal modifications to the pose and total model. In Python, use the next code:
from PIL import Picture
# This code assumes 'consumer' has been configured from step one
base_image = Picture.open('/path/to/your/picture.png')
hat_image = Picture.open('/path/to/your/hat.png')
fusion_prompt = "Transfer the identical lady and pose outdoor in open shade and place the straw hat..."
response = consumer.fashions.generate_content(
mannequin="gemini-2.5-flash-image-preview",
contents=[fusion_prompt, base_image, hat_image])
For greatest outcomes, use a most of three enter photographs. Utilizing extra might cut back output high quality.
That covers the fundamentals of utilizing the nano-banana mannequin. In my view, this mannequin excels when you might have current photographs that you just need to remodel or edit. It is particularly helpful for sustaining consistency throughout a sequence of generated photographs.
Attempt it for your self and do not be afraid to iterate, as you usually will not get the right picture on the primary attempt.
# Wrapping Up
Gemini 2.5 Flash Picture, or nano-banana, is the most recent picture era and enhancing mannequin from Google. It boasts highly effective capabilities in comparison with earlier picture era fashions. On this article, we explored methods to use nano-banana to generate and edit photographs, highlighting its options for sustaining consistency and making use of stylistic modifications.
I hope this has been useful!
Cornellius Yudha Wijaya is an information science assistant supervisor and information author. Whereas working full-time at Allianz Indonesia, he likes to share Python and information ideas through social media and writing media. Cornellius writes on a wide range of AI and machine studying subjects.