Get started with the Gemini API using the Firebase AI Logic SDKs

This guide shows you how to get started making calls to the Gemini API directly from your app using the Firebase AI Logic client SDKs for your chosen platform.

Prerequisites

Swift

This guide assumes that you're familiar with using Xcode to develop apps for Apple platforms (like iOS).

Make sure that your development environment and Apple platforms app meet these requirements:

  • Xcode 26.2 or higher
  • Your app targets iOS 15 or higher, or macOS 12 or higher

Kotlin

This guide assumes that you're familiar with using Android Studio to develop apps for Android.

Make sure that your development environment and Android app meet these requirements:

  • Android Studio (latest version)
  • Your app targets API level 21 or higher

Java

This guide assumes that you're familiar with using Android Studio to develop apps for Android.

Make sure that your development environment and Android app meet these requirements:

  • Android Studio (latest version)
  • Your app targets API level 21 or higher

Web

This guide assumes that you're familiar with using JavaScript to develop web apps. This guide is framework-independent.

Make sure that your development environment and web app meet these requirements:

  • (Optional) Node.js
  • Modern web browser

Dart

This guide assumes that you're familiar with developing apps with Flutter.

Make sure that your development environment and Flutter app meet these requirements:

  • Dart 3.2.0+

Unity

This guide assumes that you're familiar with developing games with Unity.

Make sure that your development environment and Unity game meet these requirements:

  • Unity Editor 2021 LTS or newer

Check out helpful resources

Swift

Try out the quickstart app

Use the quickstart app to try out the SDK quickly and see a complete implementation of various use cases. Or use the quickstart app if you don't have your own Apple platforms app. To use the quickstart app, you'll need to connect it to a Firebase project.

Go to the quickstart app

Watch a video tutorial

This video demonstrates how to get started with Firebase AI Logic by building a real-world AI-powered meal planning app that generates recipes from a text prompt.

You can also download and explore the codebase for the app in the video.

View the codebase for the video's app



Kotlin

Try out the quickstart app

Use the quickstart app to try out the SDK quickly and see a complete implementation of various use cases. Or use the quickstart app if you don't have your own Android app. To use the quickstart app, you'll need to connect it to a Firebase project.

Go to the quickstart app

Watch a video tutorial

This video demonstrates how to get started with Firebase AI Logic by building a real-world AI-powered meal planning app that generates recipes from a text prompt.

You can also download and explore the codebase for the app in the video.

View the codebase for the video's app



Java

Try out the quickstart app

Use the quickstart app to try out the SDK quickly and see a complete implementation of various use cases. Or use the quickstart app if you don't have your own Android app. To use the quickstart app, you'll need to connect it to a Firebase project.

Go to the quickstart app

Watch a video tutorial

This video demonstrates how to get started with Firebase AI Logic by building a real-world AI-powered meal planning app that generates recipes from a text prompt.*

You can also download and explore the codebase for the app in the video.

View the codebase for the video's app

* This video and its app are in Kotlin, but they can still help Java developers understand the basics about how to get started with Firebase AI Logic.

Web

Try out the quickstart app

Use the quickstart app to try out the SDK quickly and see a complete implementation of various use cases. Or use the quickstart app if you don't have your own web app. To use the quickstart app, you'll need to connect it to a Firebase project.

Go to the quickstart app

Dart

Try out the quickstart app

Use the quickstart app to try out the SDK quickly and see a complete implementation of various use cases. Or use the quickstart app if you don't have your own Flutter app. To use the quickstart app, you'll need to connect it to a Firebase project.

Go to the quickstart app

Watch a video tutorial

This video demonstrates how to get started with Firebase AI Logic by building a real-world AI-powered meal planning app that generates recipes from a text prompt.

You can also download and explore the codebase for the app in the video.

View the codebase for the video's app



Unity

Try out the quickstart app

Use the quickstart app to try out the SDK quickly and see a complete implementation of various use cases. Or use the quickstart app if you don't have your own Unity game. To use the quickstart app, you'll need to connect it to a Firebase project.

Go to the quickstart app

Step 1: Set up a Firebase project and enable APIs

  1. Sign into the Firebase console, and then select your Firebase project.

  2. In the Firebase console, go to AI Services > AI Logic.

  3. Click Get started to launch a guided workflow that helps you set up the required APIs and resources for your project.

  4. If prompted, follow the on-screen instructions to register your app and add your Firebase configuration to your app.

  5. When asked to choose a "Gemini API provider", we recommend selecting the Gemini Developer API, which lets you get started quickly at no cost.

    At any point later, you can always set up the Vertex AI Gemini API (and its requirement for billing).

  6. Continue in the workflow to set up the required APIs and associated services for Firebase AI Logic.

    Starting early July 2026, this stage of the workflow automatically enforces Firebase App Check for AI Logic, which is a critical service to help protect the Gemini API when it's directly accessed from your app. As part of getting started (see steps later in this guide), you'll need to configure the App Check debug provider for local development when App Check is enforced.

  7. Continue to the next step in this guide to add the required SDKs to your app.

Step 2: Add the required SDKs

With your Firebase project set up and the required APIs enabled (see previous step), you can now add the required SDKs to your app.

Swift

Use Swift Package Manager to install and manage Firebase dependencies. Learn about other installation options, if needed.

The Firebase AI Logic library provides access to the APIs for interacting with Gemini models. The library is included as part of the Firebase SDK for Apple platforms (firebase-ios-sdk).

If you're already using Firebase, then make sure your Firebase package is v12.5.0 or later.

  1. In Xcode, with your app project open, navigate to File > Add Package Dependencies.

  2. When prompted, add the Firebase Apple platforms SDK repository:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Select the latest SDK version.

  4. Select the FirebaseAILogic library and the FirebaseAppCheck library.

When finished, Xcode will automatically begin resolving and downloading your dependencies in the background.

Kotlin

The Firebase AI Logic SDK for Android (firebase-ai) provides access to the APIs for interacting with Gemini models.

In your module (app-level) Gradle file (like <project>/<app-module>/build.gradle.kts), add the dependency for the Firebase AI Logic library for Android. We recommend using the Firebase Android BoM to control library versioning.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:34.15.0"))

  // Add the dependencies for the Firebase AI Logic and App Check libraries
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
  implementation("com.google.firebase:firebase-appcheck-debug")
}

By using the Firebase Android BoM, your app will always use compatible versions of Firebase Android libraries.

Java

The Firebase AI Logic SDK for Android (firebase-ai) provides access to the APIs for interacting with Gemini models.

In your module (app-level) Gradle file (like <project>/<app-module>/build.gradle.kts), add the dependency for the Firebase AI Logic library for Android. We recommend using the Firebase Android BoM to control library versioning.

For Java, you need to add two additional libraries.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:34.15.0"))

  // Add the dependencies for the Firebase AI Logic and App Check libraries
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
  implementation("com.google.firebase:firebase-appcheck-debug")

  // Required for one-shot operations (to use `ListenableFuture` from Guava Android)
  implementation("com.google.guava:guava:31.0.1-android")

  // Required for streaming operations (to use `Publisher` from Reactive Streams)
  implementation("org.reactivestreams:reactive-streams:1.0.4")
}

By using the Firebase Android BoM, your app will always use compatible versions of Firebase Android libraries.

Web

The Firebase AI Logic library provides access to the APIs for interacting with Gemini models. The library is included as part of the Firebase JavaScript SDK for Web.

  1. Install the Firebase JS SDK for Web using npm:

    npm install firebase
    
  2. Initialize Firebase in your app:

    import { initializeApp } from "firebase/app";
    import { initializeAppCheck, DebugProvider } from "firebase/app-check";
    
    // TODO(developer) Replace the following with your app's Firebase configuration
    // See: https://firebase.google.com/docs/web/learn-more#config-object
    const firebaseConfig = {
      // ...
    };
    
    // Initialize FirebaseApp
    const firebaseApp = initializeApp(firebaseConfig);
    

Dart

The Firebase AI Logic plugin for Flutter (firebase_ai) provides access to the APIs for interacting with Gemini models.

  1. From your Flutter project directory, run the following command to install the core plugin and the Firebase AI Logic plugin:

    flutter pub add firebase_ai firebase_app_check
    
  2. In your lib/main.dart file, import the Firebase AI Logic and App Check plugins:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_ai/firebase_ai.dart';
    import 'package:firebase_app_check/firebase_app_check.dart';
    import 'firebase_options.dart';
    
  3. Also in your lib/main.dart file, make sure that you've initialized Firebase using the DefaultFirebaseOptions object exported by the configuration file:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Rebuild your Flutter application:

    flutter run
    

Unity

  1. Download the Firebase Unity SDK, then extract the SDK somewhere convenient.

    The Firebase Unity SDK is not platform-specific.

  2. In your open Unity project, navigate to Assets > Import Package > Custom Package.

  3. From the extracted SDK, select the FirebaseAI package and the FirebaseAppCheck package.

  4. In the Import Unity Package window, click Import.

Step 3: Configure the App Check debug provider for local development

Starting early July 2026, as part of the guided setup workflow for AI Logic in the console, Firebase App Check is automatically enforced to protect the Gemini API. For local development, you need to configure the App Check debug provider to bypass attestation while still maintaining the enforcement of App Check.

Swift

Here's how to use the debug provider while running your app in a simulator interactively (for example, during local development):

  1. In your Xcode project, import FirebaseAppCheck and initialize App Check with the debug provider factory before you configure Firebase.

    import SwiftUI
    import FirebaseCore
    import FirebaseAppCheck
    
    @main
    struct YourApp: App {
      init() {
        let providerFactory = AppCheckDebugProviderFactory()
        AppCheck.setAppCheckProviderFactory(providerFactory)
        FirebaseApp.configure()
      }
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
    
  2. Obtain your debug token:

    1. Launch your app in the simulator or on your test device.

    2. Open the Xcode console and look for the App Check debug token. For example:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Copy the token (for example, 123a4567-b89c-12d3-e456-789012345678).

  3. Register your debug token with App Check:

    1. In the Firebase console, go to the Security > App Check > Apps tab.

    2. Find your app, click the overflow menu (), and then select Manage debug tokens.

    3. Follow the on-screen instructions to register your debug token.

For details about the debug provider (including how to get a new debug token), check out the official App Check docs.

Kotlin

Here's how to use the debug provider while running your app in an emulator interactively (for example, during local development):

  1. In your debug build, configure App Check to use the debug provider factory:

    Firebase.initialize(context = this)
    Firebase.appCheck.installAppCheckProviderFactory(
        DebugAppCheckProviderFactory.getInstance(),
    )
  2. Obtain your debug token:

    1. Run your app in the emulator or on your test device.

    2. Look for the App Check debug token in your logs. For example:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. Copy the token (for example, 123a4567-b89c-12d3-e456-789012345678).

  3. Register your debug token with App Check:

    1. In the Firebase console, go to the Security > App Check > Apps tab.

    2. Find your app, click the overflow menu (), and then select Manage debug tokens.

    3. Follow the on-screen instructions to register your debug token.

For details about the debug provider (including how to get a new debug token), check out the official App Check docs.

Java

Here's how to use the debug provider while running your app in an emulator interactively (for example, during local development):

  1. In your debug build, configure App Check to use the debug provider factory:

    FirebaseApp.initializeApp(/*context=*/ this);
    FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
    firebaseAppCheck.installAppCheckProviderFactory(
            DebugAppCheckProviderFactory.getInstance());
  2. Obtain your debug token:

    1. Run your app in the emulator or on your test device.

    2. Look for the App Check debug token in your logs. For example:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. Copy the token (for example, 123a4567-b89c-12d3-e456-789012345678).

  3. Register your debug token with App Check:

    1. In the Firebase console, go to the Security > App Check > Apps tab.

    2. Find your app, click the overflow menu (), and then select Manage debug tokens.

    3. Follow the on-screen instructions to register your debug token.

For details about the debug provider (including how to get a new debug token), check out the official App Check docs.

Web

Here's how to use the debug provider while running your app from localhost interactively (for example, during local development):

  1. In your debug build, enable debug mode by setting self.FIREBASE_APPCHECK_DEBUG_TOKEN to true before you initialize App Check. For example:

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    
  2. Visit your web app locally and open the browser's developer tool. In the debug console, you'll see a debug token:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    
  3. Register your debug token with App Check:

    1. In the Firebase console, go to the Security > App Check > Apps tab.

    2. Find your app, click the overflow menu (), and then select Manage debug tokens.

    3. Follow the on-screen instructions to register your debug token.

For details about the debug provider (including how to get a new debug token), check out the official App Check docs.

Dart

iOS+

Here's how to use the debug provider while running your app in a simulator interactively (for example, during local development):

  1. Activate App Check with the debug provider right after you've initialized your Firebase app:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    // Import the firebase_app_check plugin
    import 'package:firebase_app_check/firebase_app_check.dart';
    
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseAppCheck.instance.activate(
        // Set appleProvider to `AppleProvider.debug`
        appleProvider: AppleProvider.debug,
      );
      runApp(App());
    }
    
  2. Enable debug logging in your Xcode project:

    1. Open Product > Scheme > Edit scheme.
    2. Select Run from the left menu, then select the Arguments tab.
    3. In the Arguments Passed on Launch section, add -FIRDebugEnabled.
  3. Obtain your debug token:

    1. Open ios/Runner.xcworkspace with Xcode and run your app in the simulator or on your test device.

    2. Open the Xcode console and look for the App Check debug token. For example:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Copy the token (for example, 123a4567-b89c-12d3-e456-789012345678).

  4. Register your debug token with App Check:

    1. In the Firebase console, go to the Security > App Check > Apps tab.

    2. Find your app, click the overflow menu (), and then select Manage debug tokens.

    3. Follow the on-screen instructions to register your debug token.

Android

Here's how to use the debug provider while running your app in an emulator interactively (for example, during local development):

  1. Activate App Check with the debug provider right after you've initialized your Firebase app:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    // Import the firebase_app_check plugin
    import 'package:firebase_app_check/firebase_app_check.dart';
    
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseAppCheck.instance.activate(
        // Set androidProvider to `AndroidProvider.debug`
        androidProvider: AndroidProvider.debug,
      );
      runApp(App());
    }
    
  2. Obtain your debug token:

    1. Run your app in the emulator or on your test device.

    2. Look for the App Check debug token in your logs. For example:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. Copy the token (for example, 123a4567-b89c-12d3-e456-789012345678).

  3. Register your debug token with App Check:

    1. In the Firebase console, go to the Security > App Check > Apps tab.

    2. Find your app, click the overflow menu (), and then select Manage debug tokens.

    3. Follow the on-screen instructions to register your debug token.

Web

Here's how to use the debug provider while running your app from localhost interactively (for example, during local development):

  1. In the file web/index.html, enable debug mode by setting self.FIREBASE_APPCHECK_DEBUG_TOKEN to true:

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. Run your web app locally and open the browser's developer tool. In the debug console, you'll see a debug token:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    

    This token is stored locally in your browser and will be used whenever you use your app in the same browser on the same machine. If you want to use the token in another browser or on another machine, set self.FIREBASE_APPCHECK_DEBUG_TOKEN to the token string instead of true.

  3. Register your debug token with App Check:

    1. In the Firebase console, go to the Security > App Check > Apps tab.

    2. Find your app, click the overflow menu (), and then select Manage debug tokens.

    3. Follow the on-screen instructions to register your debug token.

For details about the debug provider (including how to get a new debug token), check out the official App Check docs.

Unity

Here's how to use the debug provider while running your app in an emulator interactively (for example, during local development):

  1. In the Firebase console, create a debug token:

    1. In the Firebase console, go to the Security > App Check > Apps tab.

    2. Find your app, click the overflow menu (), and then select Manage debug tokens.

    3. Follow the on-screen instructions to create a new debug token.

  2. In your app's initialization code, add the following:

    using Firebase.AppCheck;
    
    void InitializeFirebase() {
      // Configure the Debug Provider factory with your debug token.
      DebugAppCheckProviderFactory.Instance.SetDebugToken("YOUR_DEBUG_TOKEN");
    
      // Set App Check to use the debug provider factory
      FirebaseAppCheck.SetAppCheckProviderFactory(
        DebugAppCheckProviderFactory.Instance);
    
      // Proceed to initialize Firebase as normal
    }
    

For details about the debug provider (including how to get a new debug token), check out the official App Check docs.

Step 4: Initialize the service and create a model instance

Click your Gemini API provider to view provider-specific content and code on this page.

Before sending a prompt to a Gemini model, initialize the service for your chosen API provider and create a GenerativeModel instance.

Swift


import FirebaseAILogic

// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-3.5-flash")

Kotlin


// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
                        .generativeModel("gemini-3.5-flash")

Java


// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
        .generativeModel("gemini-3.5-flash");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);

Web


import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-3.5-flash" });

Dart


import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
      FirebaseAI.googleAI().generativeModel(model: 'gemini-3.5-flash');

Unity


using Firebase;
using Firebase.AI;

// Initialize the Gemini Developer API backend service.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());

// Create a `GenerativeModel` instance with a model that supports your use case.
var model = ai.GetGenerativeModel(modelName: "gemini-3.5-flash");

Note that depending on the capability you're using, you might not always create a GenerativeModel instance. To stream input and output using the Gemini Live API, create a LiveModel instance.

Also, after you finish this getting started guide, learn how to choose a model for your use case and app.

Step 5: Send a request to a model

You're now set up to send a request to a Gemini model.

You can use generateContent() to generate text from a prompt that contains text:

Swift


import FirebaseAILogic

// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-3.5-flash")

// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
let response = try await model.generateContent(prompt)
print(response.text ?? "No text in response.")

Kotlin

For Kotlin, the methods in this SDK are suspend functions and need to be called from a Coroutine scope.

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
                        .generativeModel("gemini-3.5-flash")

// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
val response = model.generateContent(prompt)
print(response.text)

Java

For Java, the methods in this SDK return a ListenableFuture.

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
        .generativeModel("gemini-3.5-flash");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);

// Provide a prompt that contains text
Content prompt = new Content.Builder()
    .addText("Write a story about a magic backpack.")
    .build();

// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        System.out.println(resultText);
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);

Web


import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-3.5-flash" });

// Wrap in an async function so you can use await
async function run() {
  // Provide a prompt that contains text
  const prompt = "Write a story about a magic backpack."

  // To generate text output, call generateContent with the text input
  const result = await model.generateContent(prompt);

  const response = result.response;
  const text = response.text();
  console.log(text);
}

run();

Dart


import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
      FirebaseAI.googleAI().generativeModel(model: 'gemini-3.5-flash');

// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];

// To generate text output, call generateContent with the text input
final response = await model.generateContent(prompt);
print(response.text);

Unity


using Firebase;
using Firebase.AI;

// Initialize the Gemini Developer API backend service.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());

// Create a `GenerativeModel` instance with a model that supports your use case.
var model = ai.GetGenerativeModel(modelName: "gemini-3.5-flash");

// Provide a prompt that contains text
var prompt = "Write a story about a magic backpack.";

// To generate text output, call GenerateContentAsync with the text input
var response = await model.GenerateContentAsync(prompt);
UnityEngine.Debug.Log(response.Text ?? "No text in response.");

What else can you do?

Learn more about the supported models

Learn about the models available for various use cases and their quotas and pricing.

Try out other capabilities

Learn how to control content generation

You can also experiment with prompts and model configurations and even get a generated code snippet using Google AI Studio.


Give feedback about your experience with Firebase AI Logic