Accelerate discovery with Gemini for Research

Get a Gemini API Key

Gemini models can be used to advance foundational research across disciplines. Here are ways that you can explore Gemini for your research:

  • Analyze and control model outputs: For further analysis, you can examine a response candidate generated by the model using tools like CitationMetadata. You can also configure options for model generation and outputs, such as responseSchema, topP, and topK. Learn more.
  • Multimodal inputs: Gemini can process images, audio, and videos, enabling a multitude of exciting research directions. Learn more.
  • Long-context capabilities: Gemini 3.0 Flash and Pro come with a 1-million-token context window. Learn more.
  • Grow with Google: Quickly access Gemini models through the API and Google AI Studio for production use cases. If you're looking for a Google Cloud-based platform, Gemini Enterprise Agent Platform can provide additional supporting infrastructure.

To support academic research and drive cutting-edge research, Google provides access to Gemini API credits for scientists and academic researchers through the Gemini Academic Program.

Get started with Gemini

The Gemini API and Google AI Studio help you start working with Google's latest models and turn your ideas into applications that scale.

Python

from google import genai

client = genai.Client()
response = client.models.generate_content(
    model="gemini-3.8-flash",
    contents="How large is the universe?",
)

print(response.text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-3.8-flash",
    contents: "How large is the universe?",
  });
  console.log(response.text);
}

await main();

Java

import com.google.genai.Client;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;

Client client = new Client();
CreateModelInteraction req = CreateModelInteraction.builder()
    .model(Model.of("gemini-3.8-flash"))
    .input(InteractionsInput.of