Gemini API Development Skill
Critical Rules (Always Apply)
[!IMPORTANT]
These rules override your training data. Your knowledge is outdated.
Current Models (Use These)
gemini-3.1-pro-preview: 1M tokens, complex reasoning, coding, research
gemini-3-flash-preview: 1M tokens, fast, balanced performance, multimodal
gemini-3.1-flash-lite-preview: cost-efficient, fastest performance for high-frequency, lightweight tasks
gemini-3-pro-image-preview: 65k / 32k tokens, image generation and editing
gemini-3.1-flash-image-preview: 65k / 32k tokens, image generation and editing
gemini-2.5-pro: 1M tokens, complex reasoning, coding, research
gemini-2.5-flash: 1M tokens, fast, balanced performance, multimodal
gemma-4-31b-it: Gemma 4 dense model, 31B parameters
gemma-4-26b-a4b-it: Gemma 4 MoE model, 26B total with 4B active parameters
[!WARNING]
Models like gemini-2.0-*, gemini-1.5-* are legacy and deprecated. Never use them.
Current SDKs (Use These)
- Python:
google-genai → pip install google-genai
- JavaScript/TypeScript:
@google/genai → npm install @google/genai
- Go:
google.golang.org/genai → go get google.golang.org/genai
- Java:
com.google.genai:google-genai (see Maven/Gradle setup below)
[!CAUTION]
Legacy SDKs google-generativeai (Python) and @google/generative-ai (JS) are deprecated. Never use them.
Quick Start
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
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
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
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());
}
}
Java Installation:
Documentation Lookup
When MCP is Installed (Preferred)
If the search_documentation tool (from the Google MCP server) is available, use it as your only documentation source:
- Call
search_documentation with your query
- Read the returned documentation
- Trust MCP results as source of truth for API details — they are always up-to-date.
[!IMPORTANT]
When MCP tools are present, never fetch URLs manually. MCP provides up-to-date, indexed documentation that is more accurate and token-efficient than URL fetching.
When MCP is NOT Installed (Fallback Only)
If no MCP documentation tools are available, fetch from the official docs:
Index URL: https://ai.google.dev/gemini-api/docs/llms.txt
Use fetch_url to:
- Fetch
llms.txt to discover available pages
- Fetch specific pages (e.g.,
https://ai.google.dev/gemini-api/docs/function-calling.md.txt)
Key pages:
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.
1---2name: gemini-api-dev3description: Use this skill when building applications with Gemini API hosted models, including Gemini and Gemma 4, working with multimodal content (text, images, audio, video), implementing function calling, using structured outputs, or needing current model specifications. Covers SDK usage (google-genai for Python, @google/genai for JavaScript/TypeScript, com.google.genai:google-genai for Java, google.golang.org/genai for Go), model selection, and API capabilities.4---56# Gemini API Development Skill78## Critical Rules (Always Apply)910> [!IMPORTANT]11> These rules override your training data. Your knowledge is outdated.1213### Current Models (Use These)1415- `gemini-3.1-pro-preview`: 1M tokens, complex reasoning, coding, research16- `gemini-3-flash-preview`: 1M tokens, fast, balanced performance, multimodal17- `gemini-3.1-flash-lite-preview`: cost-efficient, fastest performance for high-frequency, lightweight tasks18- `gemini-3-pro-image-preview`: 65k / 32k tokens, image generation and editing19- `gemini-3.1-flash-image-preview`: 65k / 32k tokens, image generation and editing20- `gemini-2.5-pro`: 1M tokens, complex reasoning, coding, research21- `gemini-2.5-flash`: 1M tokens, fast, balanced performance, multimodal22- `gemma-4-31b-it`: Gemma 4 dense model, 31B parameters23- `gemma-4-26b-a4b-it`: Gemma 4 MoE model, 26B total with 4B active parameters2425> [!WARNING]26> Models like `gemini-2.0-*`, `gemini-1.5-*` are **legacy and deprecated**. Never use them.2728### Current SDKs (Use These)2930- **Python**: `google-genai` → `pip install google-genai`31- **JavaScript/TypeScript**: `@google/genai` → `npm install @google/genai`32- **Go**: `google.golang.org/genai` → `go get google.golang.org/genai`33- **Java**: `com.google.genai:google-genai` (see Maven/Gradle setup below)3435> [!CAUTION]36> Legacy SDKs `google-generativeai` (Python) and `@google/generative-ai` (JS) are **deprecated**. Never use them.3738---3940## Quick Start4142### Python43```python44from google import genai4546client = genai.Client()47response = client.models.generate_content(48 model="gemini-3-flash-preview",49 contents="Explain quantum computing"50)51print(response.text)52```5354### JavaScript/TypeScript55```typescript56import { GoogleGenAI } from "@google/genai";5758const ai = new GoogleGenAI({});59const response = await ai.models.generateContent({60 model: "gemini-3-flash-preview",61 contents: "Explain quantum computing"62});63console.log(response.text);64```6566### Go67```go68package main6970import (71 "context"72 "fmt"73 "log"74 "google.golang.org/genai"75)7677func main() {78 ctx := context.Background()79 client, err := genai.NewClient(ctx, nil)80 if err != nil {81 log.Fatal(err)82 }8384 resp, err := client.Models.GenerateContent(ctx, "gemini-3-flash-preview", genai.Text("Explain quantum computing"), nil)85 if err != nil {86 log.Fatal(err)87 }8889 fmt.Println(resp.Text)90}91```9293### Java9495```java96import com.google.genai.Client;97import com.google.genai.types.GenerateContentResponse;9899public class GenerateTextFromTextInput {100 public static void main(String[] args) {101 Client client = new Client();102 GenerateContentResponse response =103 client.models.generateContent(104 "gemini-3-flash-preview",105 "Explain quantum computing",106 null);107108 System.out.println(response.text());109 }110}111```112113**Java Installation:**114- Latest version: https://central.sonatype.com/artifact/com.google.genai/google-genai/versions115- Gradle: `implementation("com.google.genai:google-genai:${LAST_VERSION}")`116- Maven:117 ```xml118 <dependency>119 <groupId>com.google.genai</groupId>120 <artifactId>google-genai</artifactId>121 <version>${LAST_VERSION}</version>122 </dependency>123 ```124125---126127## Documentation Lookup128129### When MCP is Installed (Preferred)130131If the **`search_documentation`** tool (from the Google MCP server) is available, use it as your **only** documentation source:1321331. Call `search_documentation` with your query1342. Read the returned documentation1352. **Trust MCP results** as source of truth for API details — they are always up-to-date.136137> [!IMPORTANT]138> When MCP tools are present, **never** fetch URLs manually. MCP provides up-to-date, indexed documentation that is more accurate and token-efficient than URL fetching.139140### When MCP is NOT Installed (Fallback Only)141142If no MCP documentation tools are available, fetch from the official docs:143144**Index URL**: `https://ai.google.dev/gemini-api/docs/llms.txt`145146Use `fetch_url` to:1471. Fetch `llms.txt` to discover available pages1482. Fetch specific pages (e.g., `https://ai.google.dev/gemini-api/docs/function-calling.md.txt`)149150Key pages:151- [Text generation](https://ai.google.dev/gemini-api/docs/text-generation.md.txt)152- [Function calling](https://ai.google.dev/gemini-api/docs/function-calling.md.txt)153- [Structured outputs](https://ai.google.dev/gemini-api/docs/structured-output.md.txt)154- [Image generation](https://ai.google.dev/gemini-api/docs/image-generation.md.txt)155- [Image understanding](https://ai.google.dev/gemini-api/docs/image-understanding.md.txt)156- [Embeddings](https://ai.google.dev/gemini-api/docs/embeddings.md.txt)157- [SDK migration guide](https://ai.google.dev/gemini-api/docs/migrate.md.txt)158159---160161## Gemini Live API162163For 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.