Gemini API Dev
VerifiedBest practices for building apps using the Gemini API
$ Add to GEMINI.md About This Skill
# 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`
- Java:
- - groupId: `com.google.genai`, artifactId: `google-genai`
- - Latest version can be found here: https://central.sonatype.com/artifact/com.google.genai/google-genai/versions (let's call it `LAST_VERSION`)
- - Install in `build.gradle`:
- ```
- implementation("com.google.genai:google-genai:${LAST_VERSION}")
- ```
- - Install Maven dependency in `pom.xml`:
- ```
- <dependency>
- <groupId>com.google.genai</groupId>
- <artifactId>google-genai</artifactId>
- <version>${LAST_VERSION}</version>
- </dependency>
- ```
> [!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) } ```
Java
```java import com.google.genai.Client; import com.google.genai.types.GenerateContentResponse;
public class GenerateTextFromTextInput { public static void main(String[] args) { Client client = new Client(); GenerateContentResponse response = client.models.generateContent( "gemini-3-flash-preview", "Explain quantum computing", null);
System.out.println(response.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:
- Fetch `llms.txt` to discover available documentation pages
- 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
- Google AI Studio quickstart
- Nano Banana image generation
- Function calling with the Gemini API
- Structured outputs
- Text generation
- Image understanding
- Embeddings
- Interactions API
- SDK migration guide
Gemini Live API
For real-time, bidirectional audio/video/text streaming with the Gemini Live API, install the `google-gemini/gemini-live-api-dev` skill. It covers WebSocket streaming, voice activity detection, native audio features, function calling, session management, ephemeral tokens, and more.
Use Cases
- Develop applications using Google's Gemini API for text and multimodal AI
- Implement Gemini API calls with proper authentication and error handling
- Build features using Gemini's vision, code generation, and reasoning capabilities
- Integrate Gemini as a secondary AI model alongside Claude or GPT
- Test and compare Gemini model outputs for different prompt strategies
Pros & Cons
Pros
- +Comprehensive Gemini API integration guidance with code examples
- +Covers text, vision, and code generation capabilities
- +Multi-model strategy enables using Gemini where it excels
Cons
- -Requires Google AI Studio or Vertex AI API credentials
- -Only available on claude-code and openclaw platforms
- -Gemini API changes may outpace the skill's documentation
FAQ
What does Gemini API Dev do?
What platforms support Gemini API Dev?
What are the use cases for Gemini API Dev?
100+ free AI tools
Writing, PDF, image, and developer tools — all in your browser.
Next Step
Use the skill detail page to evaluate fit and install steps. For a direct browser workflow, move into a focused tool route instead of staying in broader support surfaces.