L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

gemini-api-dev

gemini-api-dev

Direct Gemini API development with google-genai (Python) and @google/genai (TypeScript). Use when building multimodal applications, function calling, structured output, context caching, embeddings, or code execution with Gemini models — without the ADK framework overhead.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: gemini-api-dev description: "Direct Gemini API development with google-genai (Python) and @google/genai (TypeScript). Use when building multimodal applications, function calling, structured output, context caching, embeddings, or code execution with Gemini models — without the ADK framework overhead." allowed-tools: Bash, Read, Write, Edit, WebFetch metadata: triggers: Gemini API, google-genai, @google/genai, multimodal, Gemini embeddings, context caching, code execution sandbox, Gemini function calling, Gemini structured output, direct Gemini, gemini-3.1 related-skills: google-adk, agentic-ai-dev, python-dev, nestjs-api domain: backend role: specialist scope: implementation output-format: code last-reviewed: "2026-03-15"

Iron Law

ALWAYS FETCH CURRENT API DOCS BEFORE WRITING CODE — fetch https://ai.google.dev/gemini-api/docs/llms.txt first, then the specific capability page. Never generate Gemini API calls from memory; the API evolves rapidly.

Gemini API Development — Direct API (google-genai / @google/genai)

When to Use This Skill vs google-adk

Use CaseThis Skillgoogle-adk skill
Direct model API calls✅❌
Multimodal (image/audio/video)✅Partial
Embeddings API✅❌
Context caching✅❌
Code execution sandbox✅❌
Building structured AI agents❌✅
Session management / memory❌✅
Multi-agent orchestration❌✅

Current Models (as of 2026-03-15)

  • gemini-3.1-flash — 1M tokens, fast, balanced, multimodal. Default for most tasks.
  • gemini-3.1-pro — 1M tokens, complex reasoning, coding, research
  • gemini-3.1-pro-image — Image generation and editing

Legacy models are deprecated: gemini-2.5-*, gemini-2.0-*, gemini-1.5-* — do not use.

SDKs

  • Python: google-genai — uv add google-genai
  • TypeScript/NestJS: @google/genai — npm install @google/genai

Legacy SDKs are deprecated: google-generativeai (Python) and @google/generative-ai (JS) — do not use.

Quick Start

Python

from google import genai

client = genai.Client()  # uses GOOGLE_API_KEY env var
response = client.models.generate_content(
    model="gemini-3.1-flash",
    contents="Explain quantum computing"
)
print(response.text)

TypeScript (NestJS)

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

const ai = new GoogleGenAI({});  // uses GOOGLE_API_KEY env var
const response = await ai.models.generateContent({
  model: "gemini-3.1-flash",
  contents: "Explain quantum computing"
});
console.log(response.text);

Key Capabilities

CapabilityWhen to UseDoc Page
Text generationChat, completion, summarizationtext-generation.md.txt
MultimodalProcess images, audio, video, documentsimage-understanding.md.txt
Function callingLet the model invoke your functionsfunction-calling.md.txt
Structured outputGenerate valid JSON matching schemastructured-output.md.txt
Code executionRun Python in sandboxed environmentfetch from llms.txt
Context cachingCache large contexts for cost efficiencyfetch from llms.txt
EmbeddingsSemantic search, similarityembeddings.md.txt

Documentation Sources

Always fetch before writing code — the Gemini API evolves rapidly; never rely on memory.

SourceURLPurpose
Doc indexhttps://ai.google.dev/gemini-api/docs/llms.txtDiscover all available doc pages
Modelshttps://ai.google.dev/gemini-api/docs/models.md.txtCurrent model IDs and capabilities
Function callinghttps://ai.google.dev/gemini-api/docs/function-calling.md.txtTool use patterns
Structured outputhttps://ai.google.dev/gemini-api/docs/structured-output.md.txtJSON schema output
Embeddingshttps://ai.google.dev/gemini-api/docs/embeddings.md.txtEmbedding API
Text generationhttps://ai.google.dev/gemini-api/docs/text-generation.md.txtGeneration parameters
Image understandinghttps://ai.google.dev/gemini-api/docs/image-understanding.md.txtMultimodal inputs
SDK migrationhttps://ai.google.dev/gemini-api/docs/migrate.md.txtMigrate from legacy SDKs
REST API spechttps://generativelanguage.googleapis.com/$discovery/rest?version=v1betaAuthoritative API schema

Common Commands

# Python setup
uv add google-genai

# TypeScript setup
npm install @google/genai

# Set API key (get from Google AI Studio: aistudio.google.com)
export GOOGLE_API_KEY=your_key_here

# Verify SDK version
python -c "import google.genai; print(google.genai.__version__)"
node -e "const {GoogleGenAI}=require('@google/genai'); console.log('ok')"

Error Handling

Fetch https://ai.google.dev/gemini-api/docs/error-codes.md.txt for current error code reference.

Rate limits (429): Implement exponential backoff — do not retry immediately. Invalid API key (401): Check GOOGLE_API_KEY env var — never hardcode keys. Model not found: Verify model ID against models.md.txt — model names change between releases. Payload too large: Check 2MB limit for inline data; use File API for larger inputs.

# Python — retry with backoff on rate limit
import time
from google.api_core import retry
from google import genai

client = genai.Client()

@retry.Retry(predicate=retry.if_transient_error)
def generate_with_retry(prompt: str) -> str:
    response = client.models.generate_content(
        model="gemini-3.1-flash",
        contents=prompt,
    )
    return response.text

Post-Code Review

After writing Gemini API integration code, dispatch:

  • security-reviewer — API key handling, no keys in code, input sanitization before sending to model
  • code-reviewer — general quality, error handling completeness
Skills enregistrées