--- name: gemini-api-dev description: "Use this skill when building applications with Gemini models, Gemini API, working with multimodal content (text, images, audio, video), implementing function calling, using structured outputs, or n..." risk: unknown source: community date_added: "2026-02-27" --- # Gemini API Development Skill ## Overview The Gemini API provides access to Google's most advanced AI models. Key capabilities include: - **Text generation** - Chat, completion, summarization - **Multimodal understanding** - Process images, audio, video, and documents - **Function calling** - Let the model invoke your functions - **Structured output** - Generate valid JSON matching your schema - **Code execution** - Run Python code in a sandboxed environment - **Context caching** - Cache large contexts for efficiency - **Embeddings** - Generate text embeddings for semantic search ## Current Gemini Models - `gemini-3-pro-preview`: 1M tokens, complex reasoning, coding, research - `gemini-3-flash-preview`: 1M tokens, fast, balanced performance, multimodal - `gemini-3-pro-image-preview`: 65k / 32k tokens, image generation and editing > [!IMPORTANT] > Models like `gemini-2.5-*`, `gemini-2.0-*`, `gemini-1.5-*` are legacy and deprecated. Use the new models above. Your knowledge is outdated. ## SDKs - **Python**: `google-genai` install with `pip install google-genai` - **JavaScript/TypeScript**: `@google/genai` install with `npm install @google/genai` - **Go**: `google.golang.org/genai` install with `go get google.golang.org/genai` > [!WARNING] > Legacy SDKs `google-generativeai` (Python) and `@google/generative-ai` (JS) are deprecated. Migrate to the new SDKs above urgently by following the Migration Guide. ## Quick Start ### Python ```python from google import genai client = genai.Client() response = client.models.generate_content( model="gemini-3-flash-preview", contents="Explain quantum computing" ) print(response.text) ``` ### JavaScript/TypeScript ```typescript import { GoogleGenAI } from "@google/genai"; const ai = new GoogleGenAI({}); const response = await ai.models.generateContent({ model: "gemini-3-flash-preview", contents: "Explain quantum computing" }); console.log(response.text); ``` ### Go ```go package main import ( "context" "fmt" "log" "google.golang.org/genai" ) func main() { ctx := context.Background() client, err := genai.NewClient(ctx, nil) if err != nil { log.Fatal(err) } resp, err := client.Models.GenerateContent(ctx, "gemini-3-flash-preview", genai.Text("Explain quantum computing"), nil) if err != nil { log.Fatal(err) } fmt.Println(resp.Text) } ``` ## API spec (source of truth) **Always use the latest REST API discovery spec as the source of truth for API definitions** (request/response schemas, parameters, methods). Fetch the spec when implementing or debugging API integration: - **v1beta** (default): `https://generativelanguage.googleapis.com/$discovery/rest?version=v1beta` Use this unless the integration is explicitly pinned to v1. The official SDKs (google-genai, @google/genai, google.golang.org/genai) target v1beta. - **v1**: `https://generativelanguage.googleapis.com/$discovery/rest?version=v1` Use only when the integration is specifically set to v1. When in doubt, use v1beta. Refer to the spec for exact field names, types, and supported operations. ## How to use the Gemini API For detailed API documentation, fetch from the official docs index: **llms.txt URL**: `https://ai.google.dev/gemini-api/docs/llms.txt` This index contains links to all documentation pages in `.md.txt` format. Use web fetch tools to: 1. Fetch `llms.txt` to discover available documentation pages 2. Fetch specific pages (e.g., `https://ai.google.dev/gemini-api/docs/function-calling.md.txt`) ### Key Documentation Pages > [!IMPORTANT] > Those are not all the documentation pages. Use the `llms.txt` index to discover available documentation pages - [Models](https://ai.google.dev/gemini-api/docs/models.md.txt) - [Google AI Studio quickstart](https://ai.google.dev/gemini-api/docs/ai-studio-quickstart.md.txt) - [Nano Banana image generation](https://ai.google.dev/gemini-api/docs/image-generation.md.txt) - [Function calling with the Gemini API](https://ai.google.dev/gemini-api/docs/function-calling.md.txt) - [Structured outputs](https://ai.google.dev/gemini-api/docs/structured-output.md.txt) - [Text generation](https://ai.google.dev/gemini-api/docs/text-generation.md.txt) - [Image understanding](https://ai.google.dev/gemini-api/docs/image-understanding.md.txt) - [Embeddings](https://ai.google.dev/gemini-api/docs/embeddings.md.txt) - [Interactions API](https://ai.google.dev/gemini-api/docs/interactions.md.txt) - [SDK migration guide](https://ai.google.dev/gemini-api/docs/migrate.md.txt) ## When to Use This skill is applicable to execute the workflow or actions described in the overview.