gemini-api-dev
Use this skill when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, streaming responses, background research tasks, function calling, structured output, or migrating from the old generateContent API. Covers SD
By google-gemini · 20,479 installs
npx skills add google-gemini/gemini-skills --skill gemini-api-dev
Source repository · Upstream listing
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.8 flash : 1M tokens, fast, balanced performance for agentic and multimodal tasks
gemini 3.5 flash lite : 1M tokens, fastest, lowest cost 3.5 model for high throughput execution
gemini 3.1 pro preview : 1M tokens, complex reasoning, coding, research
gemini 3.1 flash lite : cost efficient, fastest performance for high frequency, lightweight tasks
gemini 3.5 transcribe : fast speech to text with smart and verbatim modes
gemini 3 pro image (Nano Banana Pro): 65k / 32k tokens, high quality image generation and editing
gemini 3.1 flash image (Nano Banana 2): 65k / 32k tokens, fast, efficient image generation and editing
gemini 3.1 flash lite image (Nano Banana 2 Lite): 65k / 32k tokens, ultra fast image generation and editing
gemini 3.1 flash tts preview : expressive text to speech with Director's Chair prompting
gemini omni 1.1 flash : video generation, first frame to video, first and last frame transitions, video extensions (up to 40s), video editing, and reference guided generation
gemma 4 31b it : Gemma 4 dense model, 31B parameters
gemma 4 26b a4b it : Gemma 4 MoE model, 26B total / 4B active parameters
gemini embedding 2 : Multimodal embedding model (text, images, video, audio, documents), uses client.models.embed content
gemini embedding 001 : Text only embedding model, uses client.models.embed content
[!WARNING]
Models like gemini 2.5 , gemini 2.0 , gemini 1.5 are legacy and deprecated . Never use them.
If a user asks for a deprecated model, use gemini 3.8 flash instead and note the substitution.
Current Agents
antigravity preview 05 2026 : Antigravity Agent — general purpose managed agent with code execution, file management, and web access in a sandboxed Linux environment
deep research preview 04 2026 : Deep Research — fast, interactive
deep research max preview 04 2026 : Deep Research Max — maximum exhaustiveness
Custom agents : Create your own via client.agents.create()
Current SDKs
Python : google genai = 2.3.0 → pip install U google genai
JavaScript/TypeScript : @google/genai = 2.3.0 → npm install @google/genai
[!NOTE]
SDK versions ≥ 2.0.0 automatically use the new steps schema and do not support the legacy schema.
Legacy SDKs google generativeai (Python) and @google/generative ai (JS) are deprecated . Never use them.
Important Additional Notes
Before writing any code , you MUST fetch the relevant documentation page from the list below that matches the user's task. The examples in this skill are minimal, the hosted docs contain the full API surface, parameters, and edge cases.
Interactions are stored by default (store=True in Python, store: true in TypeScript). Paid tier retains for 55 days, free tier for 1 day.
Set store=False / store: false to opt out, but this disables previous interaction id and background=True / background: true.
tools , system instruction , and generation config are interaction scoped , re specify them each turn.
Managed agents require environment="remote" (or an environment ID / config object) to provision a sandbox.
Migrating from generateContent : Read references/migration.md for the scoping, checklist, and before/after code examples. Always confirm scope with the user before editing.
Model upgrades : Drop in, swap the model string. Deprecated models ( gemini 2.0 , gemini 1.5 ) must be replaced, see references/migration.md .
Migrating to Gemini 3.8 Flash or Gemini 3.5 Flash Lite : Read references/migration.md for the scoping and checklist.
Quick Start
Python
JavaScript/TypeScript
Response Helpers
The SDK provides convenience properties on the Interaction response object to simplify common access patterns:
Property Type Description
output text string \ null The last consecutive run of text from the trailing model output steps. Returns the combined text when the model's final output contains multiple text parts.
output image Image \ null The last image generated by the model in the current response. Returns an object with data (base64) and mime type .
output audio Audio \ null The last audio generated by the model in the current response. Returns an object with data (base64) and mime type .
Stateful Conversation
Python
JavaScript/TypeScript
Deep Research Agent
Use deep research preview 04 2026 for fast research or deep research max preview 04 2026 for maximum exhaustiveness. Agents require background=True .
Python
JavaScript/TypeScript
Advanced features: collaborative planning, native visualization, MCP integration, file search, multimodal inputs. See [Deep Research docs](https://ai.google.dev/gemini api/docs/deep research.md.txt).
Managed Agents
Managed agents run inside a sandboxed Linux environment hosted by Google. Fetch the [Managed Agents Quickstart](https://ai.google.dev/gemini api/docs/managed agents quickstart.md.txt) before writing agent code.
Antigravity Agent
The Antigravity agent ( antigravity preview 05 2026 ) is the general purpose managed agent. It can execute code (Bash, Python, Node.js), manage files, browse the web, and use Google Search. See [Antigravity Agent docs](https://ai.google.dev/gemini api/docs/antigravity agent.md.txt) for capabilities, tools, multimodal input, and pricing.
Python
JavaScript/TypeScript
Custom Agents
See [Building Custom Agents docs](https://ai.google.dev/gemini api/docs/custom agents.md.txt).
Python
JavaScript/TypeScript
Manage agents with client.agents.list() , client.agents.get(id=...) , and client.agents.delete(id=...) .
Streaming
Set stream=True to receive incremental server sent events. Each stream follows: interaction.created → ( step.start → step.delta (s) → step.stop )+ → interaction.completed .
Python
JavaScript/TypeScript
For streaming with tools, thinking, agents, and image generation see the full [Streaming guide](https://ai.google.dev/gemini api/docs/streaming.md.txt).
Documentation Pages
You MUST fetch the matching page below before writing code. These hosted docs are the source of truth for parameters, types, and edge cases — do not rely solely on the examples above.
Core Documentation:
[Interactions API Overview](https://ai.google.dev/gemini api/docs/interactions.md.txt)
[Quickstart](https://ai.google.dev/gemini api/docs/quickstart.md.txt)
[Text Generation](https://ai.google.dev/gemini api/docs/text generation.md.txt)
[Streaming](https://ai.google.dev/gemini api/docs/streaming.md.txt)
[Tokens](https://ai.google.dev/gemini api/docs/tokens.md.txt)
[API Keys](https://ai.google.dev/gemini api/docs/api key.md.txt)
Tools & Function Calling:
[Function Calling](https://ai.google.dev/gemini api/docs/function calling.md.txt)
[Google Search](https://ai.google.dev/gemini api/docs/google search.md.txt)
[Code Execution](https://ai.google.dev/gemini api/docs/code execution.md.txt)
[URL Context](https://ai.google.dev/gemini api/docs/url context.md.txt)
[File Search](https://ai.google.dev/gemini api/docs/file search.md.txt)
[Tool Combination](https://ai.google.dev/gemini api/docs/tool combination.md.txt)
[Computer Use](https://ai.google.dev/gemini api/docs/computer use.md.txt)
[Maps Grounding](https://ai.google.dev/gemini api/docs/maps grounding.md.txt)
Generation & Output:
[Structured Output](https://ai.google.dev/gemini api/docs/structured output.md.txt)
[Thinking](https://ai.google.dev/gemini api/docs/thinking.md.txt)
[Thought Signatures](https://ai.google.dev/gemini api/docs/thought signatures.md.txt)
[Image Generation](https://ai.google.dev/gemini api/docs/image generation.md.txt)
[Image Understanding](https://ai.google.dev/gemini api/docs/image understanding.md.txt)
[Video Generation & Editing (Omni Flash)](https://ai.google.dev/gemini api/docs/omni.md.txt)
[Speech Generation](https://ai.google.dev/gemini api/docs/speech generation.md.txt)
[Music Generation](https://ai.google.dev/gemini api/docs/music generation.md.txt)
[Embeddings](https://ai.google.dev/gemini api/docs/embeddings.md.txt)
Multimodal Understanding:
[Audio](https://ai.google.dev/gemini api/docs/audio.md.txt)
[Audio Transcription](https://ai.google.dev/gemini api/docs/transcribe.md.txt)
[Video Understanding](https://ai.google.dev/gemini api/docs/video understanding.md.txt)
[Document Processing](https://ai.google.dev/gemini api/docs/document processing.md.txt)
Files & Context:
[Files](https://ai.google.dev/gemini api/docs/files.md.txt)
[File Input Methods](https://ai.google.dev/gemini api/docs/file input methods.md.txt)
[Caching](https://ai.google.dev/gemini api/docs/caching.md.txt)
[Media Resolution](https://ai.google.dev/gemini api/docs/media resolution.md.txt)
Agents:
[Agents Overview](https://ai.google.dev/gemini api/docs/agents.md.txt)
[Managed Agents Quickstart](https://ai.google.dev/gemini api/docs/managed agents quickstart.md.txt)
[Antigravity Agent](https://ai.google.dev/gemini api/docs/antigravity agent.md.txt)
[Agent Environments](https://ai.google.dev/gemini api/docs/agent environment.md.txt)
[Agent Hooks](https://ai.google.dev/gemini api/docs/agent hooks.md.txt)
[Building Custom Agents](https://ai.google.dev/gemini api/docs/custom agents.md.txt)
[Deep Research](https://ai.google.dev/gemini api/docs/deep research.md.txt)
Advanced Features:
[Latest Models (3.8 Flash & 3.5 Flash Lite)](https://ai.google.dev/gemini api/docs/latest model.md.txt)
[Flex Inference](https://ai.google.dev/gemini api/docs/flex inference.md.txt)
[Priority Inference](https://ai.google.dev/gemini api/docs/priority inference.md.txt)
API Reference:
[API Reference](https://ai.google.dev/static/api/interactions.md.txt)
[OpenAPI Spec](https://ai.google.dev/static/api/interactions.openapi.json)
[May 2026 Breaking Changes Migration Guide](https://ai.google.dev/gemini api/docs/interactions breaking changes may 2026.md.txt)
Data Model
An Interaction response contains steps , an array of typed step objects representing a structured timeline of the interaction turn.
Step Types
User steps:
user input : User input (text, audio, multimodal). Contains content array.
Model/server steps:
model output : Final model generation. Contains content array with text , image , audio , etc.
thought : Model reasoning/Chain of Thought. Has signature field (required) and optional summary .
function call : Tool call request ( id , name , arguments ).
function result : Tool result you send back ( call id , name , result ).
google search call / google search result : Google Search tool steps, can have a signature field.
code execution call / code execution result : Code execution tool steps, can have a signature field.
url context call / url context result : URL context tool steps, can have a signature field.
mcp server tool call / mcp server tool result : Remote MCP tool steps.
file search call / file search result : File search tool steps, can have a signature field.
Content types (inside content array on model output and user input steps)
text : Text content ( text field)
image / audio / document / video : Content with data , mime type , or uri
Streaming Event Types
Event Description
interaction.created Interaction created; includes metadata.
interaction.status update Interaction level status change.
step.start A new step begins. Contains step type and initial metadata.
step.delta Incremental data for the current step. Contains a typed delta object.
step.stop The step is complete. Conta