/generative-ai-android

The official Android library for the Google Gemini API

Primary LanguageKotlinApache License 2.0Apache-2.0

Google AI SDK for Android

The Google AI Android SDK is the easiest way for Android developers to build with the Gemini API. The Gemini API gives you access to Gemini models created by Google DeepMind. Gemini models are built from the ground up to be multimodal, so you can reason seamlessly across text, images, and code.

Caution

The Google AI SDK for Android is recommended for prototyping only. If you plan to enable billing, we strongly recommend that you use a backend SDK to access the Google AI Gemini API. You risk potentially exposing your API key to malicious actors if you embed your API key directly in your Android app or fetch it remotely at runtime.

Note

If you want to access Gemini on-device (Gemini Nano), check out the Google AI Edge SDK for Android, which is enabled via Android AICore.

Get started with the Gemini API

This repository contains a sample app demonstrating how the SDK can access and utilize the Gemini model for various use cases.

To try out the sample app you can directly import the project from Android Studio via File > New > Import Sample and searching for Generative AI Sample or follow these steps below:

  1. Go to Google AI Studio.
  2. Login with your Google account.
  3. Create an API key. Note that in Europe the free tier is not available.
  4. Check out this repository.
    git clone https://github.com/google/generative-ai-android
  5. Open and build the sample app in the generativeai-android-sample folder of this repo.
  6. Paste your API key into the apiKey property in the local.properties file.
  7. Run the app
  8. For detailed instructions, try the Android SDK tutorial on ai.google.dev.

Usage example

  1. Add the dependency implementation("com.google.ai.client.generativeai:generativeai:<version>") to your Android project.

  2. Initialize the model

val generativeModel = GenerativeModel(
    modelName = "gemini-1.5-pro-latest",
    apiKey = BuildConfig.apiKey
)
  1. Run a prompt.
val cookieImage: Bitmap = // ...
val inputContent = content() {
  image(cookieImage)
  text("Does this look store-bought or homemade?")
}

val response = generativeModel.generateContent(inputContent)
print(response.text)

For detailed instructions, you can find a quickstart for the Google AI client SDK for Android in the Google documentation.

This quickstart describes how to add your API key and the SDK's dependency to your app, initialize the model, and then call the API to access the model. It also describes some additional use cases and features, like streaming, counting tokens, and controlling responses.

Documentation

See the Gemini API Cookbook or ai.google.dev for complete documentation.

Contributing

See Contributing for more information on contributing to the Google AI client SDK for Android.

License

The contents of this repository are licensed under the Apache License, version 2.0.