From f36024b25684c74d0e1df624029285d4b2d9ea43 Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Thu, 28 May 2026 17:23:21 +0100 Subject: [PATCH 1/2] refactor(ai-logic): use gemini-3.1-flash-live-preview in BiDi samples --- .../firebase/quickstart/ai/feature/live/StreamAudioViewModel.kt | 2 +- .../firebase/quickstart/ai/feature/live/StreamVideoViewModel.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamAudioViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamAudioViewModel.kt index edea6ddf1..963de6708 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamAudioViewModel.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamAudioViewModel.kt @@ -36,7 +36,7 @@ class StreamAudioViewModel : BidiViewModel() { // Note that each backend supports a different set of models. // See our documentation for a breakdown of models by backend: // https://firebase.google.com/docs/ai-logic/live-api#supported-models - modelName = "gemini-2.5-flash-native-audio-preview-09-2025", + modelName = "gemini-3.1-flash-live-preview", generationConfig = liveGenerationConfig, tools = listOf( Tool.functionDeclarations( diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamVideoViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamVideoViewModel.kt index 8e715785c..90e3b1573 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamVideoViewModel.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamVideoViewModel.kt @@ -28,7 +28,7 @@ class StreamVideoViewModel : BidiViewModel() { val liveModel = Firebase.ai( backend = GenerativeBackend.googleAI() ).liveModel( - modelName = "gemini-2.5-flash-native-audio-preview-09-2025", + modelName = "gemini-3.1-flash-live-preview", generationConfig = liveGenerationConfig, ) runBlocking { liveSession = liveModel.connect() } From 8909ea7410d8632928acd0d60d557acb5cb8549e Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Thu, 28 May 2026 17:33:14 +0100 Subject: [PATCH 2/2] explicitly call out Gemini 3.1 Flash Live --- firebase-ai/README.md | 4 ++-- .../quickstart/ai/ui/navigation/FirebaseAISamples.kt | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/firebase-ai/README.md b/firebase-ai/README.md index eac81ef60..608ec833e 100644 --- a/firebase-ai/README.md +++ b/firebase-ai/README.md @@ -54,8 +54,8 @@ You can find the implementation for each feature by clicking on the links below: - [Gemini Live (video input)](app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamVideoViewModel.kt): Use bidirectional streaming to chat with Gemini using your phone's camera ### Live API streaming -- [Gemini Live (audio input)](app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamAudioViewModel.kt): Use bidirectional streaming to get information about weather conditions for a specific US city on a specific date -- [Gemini Live (video input)](app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamVideoViewModel.kt): Use bidirectional streaming to chat with Gemini using your phone's camera +- [Gemini 3.1 Flash Live preview (audio input)](app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamAudioViewModel.kt): Use bidirectional streaming to get information about weather conditions for a specific US city on a specific date +- [Gemini 3.1 Flash Live preview (video input)](app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamVideoViewModel.kt): Use bidirectional streaming to chat with Gemini using your phone's camera ### Server prompt templates - [Server Prompt Templates - Gemini](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ServerPromptTemplateViewModel.kt): Generate an invoice using server prompt templates. 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 9213e8fc2..be89665b5 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 @@ -154,22 +154,22 @@ val FIREBASE_AI_SAMPLES = listOf( categories = listOf(Category.TOOLS_FC) ), Sample( - title = "Gemini Live (audio input)", + title = "Gemini 3.1 Flash Live preview (audio input)", description = "Use bidirectional streaming to get information about" + " weather conditions for a specific US city on a specific date", route = StreamRealtimeAudioRoute, screenType = ScreenType.BIDI, viewModelClass = StreamAudioViewModel::class, - categories = listOf(Category.LIVE_API, Category.TOOLS_FC) + categories = listOf(Category.GEMINI3, Category.LIVE_API, Category.TOOLS_FC) ), Sample( - title = "Gemini Live (video input)", + title = "Gemini 3.1 Flash Live preview (video input)", description = "Use bidirectional streaming to chat with Gemini using your" + " phone's camera", route = StreamRealtimeVideoRoute, screenType = ScreenType.BIDI_VIDEO, viewModelClass = StreamVideoViewModel::class, - categories = listOf(Category.LIVE_API, Category.TOOLS_FC) + categories = listOf(Category.GEMINI3, Category.LIVE_API) ), Sample( title = "Server Prompt Templates - Gemini",