From 1aeb88070c42c6466053a8b9db8a1380e1130780 Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Tue, 6 Oct 2026 18:11:07 +0200 Subject: [PATCH 1/5] delete gemini-2.5-flash-image sample --- .../ai/feature/text/NanoBananaViewModel.kt | 43 ------------------- .../ai/ui/navigation/FirebaseAISamples.kt | 10 ----- 2 files changed, 53 deletions(-) delete mode 100644 firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaViewModel.kt diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaViewModel.kt deleted file mode 100644 index b5b9ddf9a7..0000000000 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaViewModel.kt +++ /dev/null @@ -1,43 +0,0 @@ -package com.google.firebase.quickstart.ai.feature.text - -import kotlinx.serialization.Serializable - -import com.google.firebase.Firebase -import com.google.firebase.ai.Chat -import com.google.firebase.ai.ai -import com.google.firebase.ai.type.Content -import com.google.firebase.ai.type.GenerativeBackend -import com.google.firebase.ai.type.ResponseModality -import com.google.firebase.ai.type.generationConfig -import com.google.firebase.quickstart.ai.ui.UiChatMessage - -@Serializable -object NanoBananaRoute - -class NanoBananaViewModel : ChatViewModel() { - - override val initialPrompt: String = """ - Hi, can you create a 3d rendered image of a pig - with wings and a top hat flying over a happy - futuristic scifi city with lots of greenery? - """.trimIndent() - - private val chat: Chat - - init { - val generativeModel = Firebase.ai( - backend = GenerativeBackend.googleAI() - ).generativeModel( - modelName = "gemini-2.5-flash-image", - generationConfig = generationConfig { - responseModalities = listOf(ResponseModality.TEXT, ResponseModality.IMAGE) - } - ) - chat = generativeModel.startChat() - } - - override suspend fun performSendMessage(prompt: Content, currentMessages: List) { - val response = chat.sendMessage(prompt) - validateAndDisplayResponse(response, currentMessages) - } -} diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt index 8f6f7b4aad..bca1277a1e 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt @@ -24,8 +24,6 @@ import com.google.firebase.quickstart.ai.feature.text.NanoBananaLiteRoute import com.google.firebase.quickstart.ai.feature.text.NanoBananaLiteViewModel import com.google.firebase.quickstart.ai.feature.text.NanoBananaProRoute import com.google.firebase.quickstart.ai.feature.text.NanoBananaProViewModel -import com.google.firebase.quickstart.ai.feature.text.NanoBananaRoute -import com.google.firebase.quickstart.ai.feature.text.NanoBananaViewModel import com.google.firebase.quickstart.ai.feature.text.ServerPromptTemplateRoute import com.google.firebase.quickstart.ai.feature.text.ServerPromptTemplateViewModel import com.google.firebase.quickstart.ai.feature.text.SvgRoute @@ -112,14 +110,6 @@ val FIREBASE_AI_SAMPLES = listOf( viewModelClass = NanoBananaProViewModel::class, categories = listOf(Category.NANO_BANANA, Category.GEMINI3) ), - Sample( - title = "Gemini 2.5 Flash Image (Nano Banana)", - description = "Generate and/or edit images using Nano Banana", - route = NanoBananaRoute, - screenType = ScreenType.CHAT, - viewModelClass = NanoBananaViewModel::class, - categories = listOf(Category.NANO_BANANA) - ), Sample( title = "Document comparison (Agent Platform)", description = "Compare the contents of 2 documents stored in Cloud Storage", From 9dd9eeee6a605d402c562083e58c03ada1fb348b Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Tue, 6 Oct 2026 18:16:50 +0200 Subject: [PATCH 2/5] add Gemini Nano Banana 2.1 sample --- .../ai/feature/text/NanoBanana2ViewModel.kt | 2 +- .../ai/ui/navigation/FirebaseAISamples.kt | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt index bf04895bc8..8badb33bf3 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt @@ -40,7 +40,7 @@ class NanoBanana2ViewModel : ChatViewModel() { val generativeModel = Firebase.ai( backend = GenerativeBackend.googleAI() ).generativeModel( - modelName = "gemini-3.1-flash-image", + modelName = "gemini-nano-banana-2.1", generationConfig = generationConfig { responseModalities = listOf(ResponseModality.TEXT, ResponseModality.IMAGE) // Optionally specify additional configuration diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt index bca1277a1e..5805180ee9 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt @@ -87,23 +87,23 @@ val FIREBASE_AI_SAMPLES = listOf( categories = listOf(Category.MULTIMODAL_UNDERSTANDING) ), Sample( - title = "Gemini 3.1 Flash Image Lite (Nano Banana Lite)", - description = "Generate and/or edit images using Nano Banana Lite", - route = NanoBananaLiteRoute, + title = "Gemini Nano Banana 2.1", + description = "Generate and/or edit images using Nano Banana 2.1", + route = NanoBanana2Route, screenType = ScreenType.CHAT, - viewModelClass = NanoBananaLiteViewModel::class, + viewModelClass = NanoBanana2ViewModel::class, categories = listOf(Category.NANO_BANANA, Category.GEMINI3) ), Sample( - title = "Gemini 3.1 Flash Image (Nano Banana 2)", - description = "Generate and/or edit images using Nano Banana 2", - route = NanoBanana2Route, + title = "Nano Banana 2 Lite (Gemini 3.1 Flash Image Lite)", + description = "Generate and/or edit images using Nano Banana 2 Lite", + route = NanoBananaLiteRoute, screenType = ScreenType.CHAT, - viewModelClass = NanoBanana2ViewModel::class, + viewModelClass = NanoBananaLiteViewModel::class, categories = listOf(Category.NANO_BANANA, Category.GEMINI3) ), Sample( - title = "Gemini 3 Pro Image (Nano Banana Pro)", + title = "Nano Banana Pro (Gemini 3 Pro Image)", description = "Generate and/or edit images using Nano Banana Pro", route = NanoBananaProRoute, screenType = ScreenType.CHAT, From 50eaf901b985730cc3bf2efa28dd28b1cb350506 Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Mon, 9 Nov 2026 21:42:32 +0000 Subject: [PATCH 3/5] update README.md --- firebase-ai/README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/firebase-ai/README.md b/firebase-ai/README.md index c235963a91..5f4622c688 100644 --- a/firebase-ai/README.md +++ b/firebase-ai/README.md @@ -30,13 +30,14 @@ You can find the implementation for each feature by clicking on the links below: ### Gemini 3 - [Translate text](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/TranslationViewModel.kt): Use Gemini 3.5 Flash-Lite to translate text - [SVG Generator](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt): Use Gemini 3.8 Flash to create SVG illustrations -- [Gemini 3.1 Flash Image (Nano Banana 2)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt): Generate and/or edit images using Nano Banana 2 -- [Gemini 3 Pro Image (Nano Banana Pro)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaProViewModel.kt): Generate and/or edit images using Nano Banana Pro +- [Gemini Nano Banana 2.1](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt): Generate and/or edit images using Nano Banana 2.1 +- [Nano Banana 2 Lite (Gemini 3.1 Flash Image Lite)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaLiteViewModel.kt): Generate and/or edit images using Nano Banana 2 Lite +- [Nano Banana Pro (Gemini 3 Pro Image)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaProViewModel.kt): Generate and/or edit images using Nano Banana Pro ### Nano Banana -- [Gemini 3.1 Flash Image (Nano Banana 2)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt): Generate and/or edit images using Nano Banana 2 -- [Gemini 3 Pro Image (Nano Banana Pro)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaProViewModel.kt): Generate and/or edit images using Nano Banana Pro -- [Gemini 2.5 Flash Image (Nano Banana)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaViewModel.kt): Generate and/or edit images using Nano Banana +- [Gemini Nano Banana 2.1](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt): Generate and/or edit images using Nano Banana 2.1 +- [Nano Banana 2 Lite (Gemini 3.1 Flash Image Lite)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaLiteViewModel.kt): Generate and/or edit images using Nano Banana 2 Lite +- [Nano Banana Pro (Gemini 3 Pro Image)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaProViewModel.kt): Generate and/or edit images using Nano Banana Pro ### Multimodal understanding - [Audio Summarization](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/AudioSummarizationViewModel.kt): Use Gemini 3.5 Flash-Lite to summarize an audio file From a0e8c209938f65b69b2dc879e194ba802ec02b3d Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Mon, 9 Nov 2026 21:44:57 +0000 Subject: [PATCH 4/5] update for consistency --- firebase-ai/README.md | 4 ++-- .../firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/firebase-ai/README.md b/firebase-ai/README.md index 5f4622c688..52cb3d0957 100644 --- a/firebase-ai/README.md +++ b/firebase-ai/README.md @@ -30,12 +30,12 @@ You can find the implementation for each feature by clicking on the links below: ### Gemini 3 - [Translate text](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/TranslationViewModel.kt): Use Gemini 3.5 Flash-Lite to translate text - [SVG Generator](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt): Use Gemini 3.8 Flash to create SVG illustrations -- [Gemini Nano Banana 2.1](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt): Generate and/or edit images using Nano Banana 2.1 +- [Nano Banana 2.1](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt): Generate and/or edit images using Nano Banana 2.1 - [Nano Banana 2 Lite (Gemini 3.1 Flash Image Lite)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaLiteViewModel.kt): Generate and/or edit images using Nano Banana 2 Lite - [Nano Banana Pro (Gemini 3 Pro Image)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaProViewModel.kt): Generate and/or edit images using Nano Banana Pro ### Nano Banana -- [Gemini Nano Banana 2.1](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt): Generate and/or edit images using Nano Banana 2.1 +- [Nano Banana 2.1](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt): Generate and/or edit images using Nano Banana 2.1 - [Nano Banana 2 Lite (Gemini 3.1 Flash Image Lite)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaLiteViewModel.kt): Generate and/or edit images using Nano Banana 2 Lite - [Nano Banana Pro (Gemini 3 Pro Image)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaProViewModel.kt): Generate and/or edit images using Nano Banana Pro diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt index 5805180ee9..9e50ba9f99 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt @@ -87,7 +87,7 @@ val FIREBASE_AI_SAMPLES = listOf( categories = listOf(Category.MULTIMODAL_UNDERSTANDING) ), Sample( - title = "Gemini Nano Banana 2.1", + title = "Nano Banana 2.1", description = "Generate and/or edit images using Nano Banana 2.1", route = NanoBanana2Route, screenType = ScreenType.CHAT, From 1f22dc5678681f571f2f389116fb206aa4ced9f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ros=C3=A1rio=20P=2E=20Fernandes?= Date: Fri, 13 Nov 2026 14:45:25 +0000 Subject: [PATCH 5/5] Apply suggestion from @thatfiredev --- firebase-ai/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/firebase-ai/README.md b/firebase-ai/README.md index b6c61424ab..1c4035f8d7 100644 --- a/firebase-ai/README.md +++ b/firebase-ai/README.md @@ -30,7 +30,6 @@ You can find the implementation for each feature by clicking on the links below: ### Gemini 3 & 4 - [SVG Generator](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt): Use Gemini 4 Hydrogen to create SVG illustrations - [Translate text](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/TranslationViewModel.kt): Use Gemini 3.5 Flash-Lite to translate text -- [SVG Generator](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt): Use Gemini 3.8 Flash to create SVG illustrations - [Nano Banana 2.1](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt): Generate and/or edit images using Nano Banana 2.1 - [Nano Banana 2 Lite (Gemini 3.1 Flash Image Lite)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaLiteViewModel.kt): Generate and/or edit images using Nano Banana 2 Lite - [Nano Banana Pro (Gemini 3 Pro Image)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaProViewModel.kt): Generate and/or edit images using Nano Banana Pro