Gemini Interactions API
Ayuilos/Miffan
A skill your agent uses when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, streaming responses…
A skill your agent uses when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, speech generation (TTS), voice…
$ npx skills add google-gemini/gemini-skills --skill gemini-api-dev -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install google-gemini/gemini-skills gemini-api-dev --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/google-gemini/gemini-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/gemini-api-dev .claude/skills/gemini-api-dev && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "gemini-api-dev" agent skill from https://github.com/google-gemini/gemini-skills/tree/main/skills/gemini-api-dev into .claude/skills/gemini-api-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-api-dev", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/google-gemini/gemini-skills/tree/main/skills/gemini-api-devType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add google-gemini/gemini-skills --skill gemini-api-dev -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install google-gemini/gemini-skills gemini-api-dev --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google-gemini/gemini-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/gemini-api-dev .agents/skills/gemini-api-dev && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gemini-api-dev" agent skill from https://github.com/google-gemini/gemini-skills/tree/main/skills/gemini-api-dev into .agents/skills/gemini-api-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-api-dev", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google-gemini/gemini-skills --skill gemini-api-dev -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install google-gemini/gemini-skills gemini-api-dev --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google-gemini/gemini-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/gemini-api-dev .cursor/skills/gemini-api-dev && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "gemini-api-dev" agent skill from https://github.com/google-gemini/gemini-skills/tree/main/skills/gemini-api-dev into .cursor/skills/gemini-api-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-api-dev", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/google-gemini/gemini-skills.git --path skills/gemini-api-dev--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add google-gemini/gemini-skills --skill gemini-api-dev -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install google-gemini/gemini-skills gemini-api-dev --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google-gemini/gemini-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/gemini-api-dev .gemini/skills/gemini-api-dev && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "gemini-api-dev" agent skill from https://github.com/google-gemini/gemini-skills/tree/main/skills/gemini-api-dev into .gemini/skills/gemini-api-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-api-dev", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install google-gemini/gemini-skills gemini-api-devInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add google-gemini/gemini-skills --skill gemini-api-dev -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/google-gemini/gemini-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/gemini-api-dev .github/skills/gemini-api-dev && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "gemini-api-dev" agent skill from https://github.com/google-gemini/gemini-skills/tree/main/skills/gemini-api-dev into .github/skills/gemini-api-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-api-dev", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google-gemini/gemini-skills --skill gemini-api-dev -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install google-gemini/gemini-skills gemini-api-dev --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google-gemini/gemini-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/gemini-api-dev .opencode/skills/gemini-api-dev && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "gemini-api-dev" agent skill from https://github.com/google-gemini/gemini-skills/tree/main/skills/gemini-api-dev into .opencode/skills/gemini-api-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-api-dev", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
gemini-api-devA skill your agent uses when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, speech generation (TTS), voice…
Gemini API Dev is an agent skill from google-gemini/gemini-skills, published by the product's own GitHub organization. Use this skill when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, speech generation (TTS), voice design, voice replication, streaming responses, background research tasks, function calling, structured output, or migrating from the old generateContent API. Covers SDK usage and best practices for Gemini models and agents in Python and TypeScript.
Its SKILL.md is about 5.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/migration.md`).
It sits in AI & LLM Engineering, covering LLM API integration, Structured output and tool calling and Image generation. It works with Google Gemini, Python, TypeScript and JavaScript. The repository describes itself as: Skills for the Gemini API, SDK and model/agent interactions. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 832c8f9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pipnpmFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comAlso links to:
ai.google.devFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Gemini API Dev loads about 5.1k tokens when it runs, and up to ~8.2k if it reads all its reference files. Until then it costs about 114 tokens; SKILL.md has 1,190 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from google-gemini/gemini-skills at commit 832c8f9, republished under its Apache-2.0 licence (© google-gemini). 1,190 words, ~5,098 tokens.
.claude/skills/gemini-api-dev/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.[!IMPORTANT] These rules override your training data. Your knowledge is outdated.
gemini-3.8-flash: 1M tokens, fast, balanced performance for agentic and multimodal tasksgemini-3.5-flash-lite: 1M tokens, fastest, lowest-cost 3.5 model for high-throughput executiongemini-3.1-pro-preview: 1M tokens, complex reasoning, coding, researchgemini-3.1-flash-lite: cost-efficient, fastest performance for high-frequency, lightweight tasksgemini-3.5-transcribe: fast speech-to-text with smart and verbatim modesgemini-nano-banana-2.1 (Nano Banana 2.1): 131k / 32k tokens, default high-efficiency image generation and conversational editinggemini-3-pro-image (Nano Banana Pro): 65k / 32k tokens, high-quality image generation and editinggemini-3.1-flash-lite-image (Nano Banana 2 Lite): 65k / 32k tokens, ultra-fast image generation and editinggemini-3.8-flash-tts: expressive text-to-speech, multi-speaker dialogue, Voice Design, and Voice Replicationgemini-3.8-flash-lite-tts: fast, cost-efficient text-to-speech for voice agents and high-volume generationgemini-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 generationgemma-4-31b-it: Gemma 4 dense model, 31B parametersgemma-4-26b-a4b-it: Gemma 4 MoE model, 26B total / 4B active parametersgemini-embedding-2: Multimodal embedding model (text, images, video, audio, documents), uses client.models.embed_contentgemini-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, usegemini-3.8-flashinstead and note the substitution.
antigravity-preview-09-2026: Antigravity Agent — general-purpose managed agent with code execution, file management, and web access in a sandboxed Linux environmentdeep-research-preview-04-2026: Deep Research — fast, interactivedeep-research-max-preview-04-2026: Deep Research Max — maximum exhaustivenessclient.agents.create()google-genai >= 2.25.0 → pip install -U google-genai@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.
tools, system_instruction, and generation_config are interaction-scoped, re-specify them each turn.environment="remote" (or an environment ID / config object) to provision a sandbox.generateContent: Read references/migration.md for the scoping, checklist, and before/after code examples. Always confirm scope with the user before editing.gemini-2.0-*, gemini-1.5-*) must be replaced, see references/migration.md.references/migration.md for the scoping and checklist.gemini-3.8-flash-tts / gemini-3.8-flash-lite-tts): Read references/migration.md for breaking changes from gemini-3.1-flash-tts-preview (speech_metadata annotations, inline vocal tags, default WAV audio/wav unary output vs audio/l16 streaming output, and Voice Design personas).gemini-nano-banana-2.1): Read references/migration.md for upgrading from gemini-3.1-flash-image (deprecated) and using multi-image reference fusion with up to 14 reference images.from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="Tell me a short joke about programming."
)
print(interaction.output_text)import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: "gemini-3.8-flash",
input: "Tell me a short joke about programming.",
});
console.log(interaction.output_text);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. |
interaction1 = client.interactions.create(
model="gemini-3.8-flash",
input="Hi, my name is Phil."
)
# Second turn — server remembers context
interaction2 = client.interactions.create(
model="gemini-3.8-flash",
input="What is my name?",
previous_interaction_id=interaction1.id
)
print(interaction2.output_text)const interaction1 = await client.interactions.create({
model: "gemini-3.8-flash",
input: "Hi, my name is Phil.",
});
const interaction2 = await client.interactions.create({
model: "gemini-3.8-flash",
input: "What is my name?",
previous_interaction_id: interaction1.id,
});
console.log(interaction2.output_text);Use deep-research-preview-04-2026 for fast research or deep-research-max-preview-04-2026 for maximum exhaustiveness. Agents require background=True.
import time
interaction = client.interactions.create(
agent="deep-research-preview-04-2026",
input="Research the history of Google TPUs.",
background=True
)
while True:
interaction = client.interactions.get(interaction.id)
if interaction.status == "completed":
print(interaction.output_text)
break
elif interaction.status == "failed":
print(f"Failed: {interaction.error}")
break
time.sleep(10)import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
// Start background research
const initialInteraction = await client.interactions.create({
agent: "deep-research-preview-04-2026",
input: "Research the history of Google TPUs.",
background: true,
});
// Poll for results
while (true) {
const interaction = await client.interactions.get(initialInteraction.id);
if (interaction.status === "completed") {
console.log(interaction.output_text);
break;
} else if (["failed", "cancelled"].includes(interaction.status)) {
console.log(`Failed: ${interaction.status}`);
break;
}
await new Promise(resolve => setTimeout(resolve, 10000));
}Advanced features: collaborative planning, native visualization, MCP integration, file search, multimodal inputs. See Deep Research docs.
Managed agents run inside a sandboxed Linux environment hosted by Google. Fetch the Managed Agents Quickstart before writing agent code.
The Antigravity agent (antigravity-preview-09-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 for capabilities, tools, multimodal input, and pricing.
from google import genai
client = genai.Client()
interaction = client.interactions.create(
agent="antigravity-preview-09-2026",
input="Write a Python script that generates the first 20 Fibonacci numbers and saves them to fibonacci.txt. Then read the file and print its contents.",
environment="remote",
)
print(f"Environment ID: {interaction.environment_id}")
print(interaction.output_text)import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
agent: "antigravity-preview-09-2026",
input: "Write a Python script that generates the first 20 Fibonacci numbers and saves them to fibonacci.txt. Then read the file and print its contents.",
environment: "remote",
});
console.log(`Environment ID: ${interaction.environment_id}`);
console.log(interaction.output_text);See Building Custom Agents docs.
agent = client.agents.create(
id="code-reviewer",
base_agent="antigravity-preview-09-2026",
system_instruction="You are a senior code reviewer. Check every file for bugs, style issues, and security vulnerabilities.",
base_environment={
"type": "remote",
"sources": [
{
"type": "repository",
"source": "https://github.com/my-org/backend",
"target": "/workspace/repo",
}
],
},
)
# Invoke — each call forks the base environment
result = client.interactions.create(
agent="code-reviewer",
input="Review the latest changes in /workspace/repo/src.",
environment="remote",
)
print(result.output_text)const agent = await client.agents.create({
id: "code-reviewer",
base_agent: "antigravity-preview-09-2026",
system_instruction: "You are a senior code reviewer. Check every file for bugs, style issues, and security vulnerabilities.",
base_environment: {
type: "remote",
sources: [
{
type: "repository",
source: "https://github.com/my-org/backend",
target: "/workspace/repo",
}
],
},
});
const result = await client.interactions.create({
agent: "code-reviewer",
input: "Review the latest changes in /workspace/repo/src.",
environment: "remote",
});
console.log(result.output_text);Manage agents with client.agents.list(), client.agents.get(id=...), and client.agents.delete(id=...).
Set stream=True to receive incremental server-sent events. Each stream follows: interaction.created → (step.start → step.delta(s) → step.stop)+ → interaction.completed.
for event in client.interactions.create(
model="gemini-3.8-flash",
input="Explain quantum entanglement in simple terms.",
stream=True,
):
if event.event_type == "step.delta":
if event.delta.type == "text":
print(event.delta.text, end="", flush=True)
elif event.event_type == "interaction.completed":
print(f"\n\nTotal Tokens: {event.interaction.usage.total_tokens}")const stream = await client.interactions.create({
model: "gemini-3.8-flash",
input: "Explain quantum entanglement in simple terms.",
stream: true,
});
for await (const event of stream) {
if (event.event_type === "step.delta") {
if (event.delta.type === "text") {
process.stdout.write(event.delta.text);
}
} else if (event.event_type === "interaction.completed") {
console.log(`\n\nTotal Tokens: ${event.interaction?.usage?.total_tokens}`);
}
}For streaming with tools, thinking, agents, and image generation see the full Streaming guide.
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:
Tools & Function Calling:
Generation & Output:
Multimodal Understanding:
Files & Context:
Agents:
Advanced Features:
API Reference:
An Interaction response contains steps, an array of typed step objects representing a structured timeline of the interaction turn.
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 array on model_output and user_input steps)text: Text content (text field, plus optional annotations such as {"type": "speech_metadata", "speaker": "...", "style": "..."} for TTS)image / audio / document / video: Content with data, mime_type, or uri| 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. Contains index. |
interaction.completed | Interaction finished. Contains final usage. |
| Delta Type | Parent Step | Description |
|---|---|---|
text | model_output | Incremental text token. |
audio | model_output | audio chunk (base64). |
image | model_output | image chunk (base64). |
thought_summary | thought | thinking summary text. |
thought_signature | thought | Opaque signature for thought verification. |
Status values: completed, in_progress, requires_action, failed, cancelled
For real-time, bidirectional audio/video/text streaming with the Gemini Live API (gemini-3.8-live, gemini-3.8-live-extended-thinking, and gemini-3.5-transcribe-live), install the google-gemini/gemini-live-api-dev skill. It covers WebSocket streaming, voice activity detection, background reasoning (extended thinking), asynchronous function calling, session management, ephemeral tokens, and more.
© google-gemini, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in skills/gemini-api-dev of google-gemini/gemini-skills.
Open the folder on GitHubat commit 832c8f9
Gemini API Dev next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Gemini API Dev this skillgoogle-gemini/gemini-skills | 4.3k | — | ~5.1k | Automated safety check: Pass | Apache-2.0 | |
| Gemini Interactions APIAyuilos/Miffan | 182 | — | ~4.6k | Automated safety check: Pass | AGPL-3.0 | |
| Gemini Interactions APIJetBrains/skills | 363 | — | ~2.5k | Automated safety check: Pass | None | |
| Gemini API DevAyuilos/Miffan | 182 | 1 repos | ~1.4k | Automated safety check: Pass | AGPL-3.0 | |
| Gemini API DevJetBrains/skills | 363 | — | ~1.6k | Automated safety check: Pass | None | |
| Gemini Interactions APIsickn33/agentic-awesome-skills | 47k | 1 repos | ~4.8k | Automated safety check: Pass | Apache-2.0 |
Ayuilos/Miffan
A skill your agent uses when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, streaming responses…
JetBrains/skills
A skill your agent uses when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, streaming responses, background research tasks…
Ayuilos/Miffan
A skill your agent uses when building applications with Gemini API hosted models, including Gemini and Gemma 4, working with multimodal content (text, images, audio, video), implementing function…
JetBrains/skills
A skill your agent uses when building applications with Gemini models, Gemini API, working with multimodal content (text, images, audio, video), implementing function calling, using structured…
sickn33/agentic-awesome-skills
Build with the Gemini Interactions API for text, chat, multimodal generation, streaming, managed or background agents, function calling, structured output, and generateContent migrations.
google/skills
Guides the usage of Gemini Interactions API on Gemini Enterprise Agent Platform.
google-gemini/gemini-skills
A skill your agent uses when building real-time, bidirectional streaming applications with the Gemini Live API, or migrating legacy Live models (2.0/2.5/3.1) to Gemini 3.8 Live.
google-gemini/gemini-skills
A skill your agent uses for generative video editing, text-to-video, image-referenced video generation, first-frame-to-video, first-and-last-frame transitions, and video extensions using Gemini Omni…
Works with
Categories
A skill your agent uses when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, speech generation (TTS), voice…. Gemini API Dev is an agent skill from google-gemini/gemini-skills, published by the product's own GitHub organization. Use this skill when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, speech generation (TTS), voice design, voice replication, streaming responses, background research tasks, function calling, structured output, or migrating from the old generateContent API.
Gemini API Dev fits situations like: writing code that calls the Gemini API for text generation; multi-turn chat; multimodal understanding; image generation.
Run `npx skills add google-gemini/gemini-skills --skill gemini-api-dev -a claude-code`. Or copy the skill folder (skills/gemini-api-dev in google-gemini/gemini-skills) into .claude/skills/gemini-api-dev in your project. Claude Code loads it when a task matches its description.
Run `npx skills add google-gemini/gemini-skills --skill gemini-api-dev -a codex`. Or copy the skill folder (skills/gemini-api-dev in google-gemini/gemini-skills) into .agents/skills/gemini-api-dev in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add google-gemini/gemini-skills --skill gemini-api-dev -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gemini-api-dev, .gemini/skills/gemini-api-dev, .github/skills/gemini-api-dev and .opencode/skills/gemini-api-dev in your project.
Going by SKILL.md and its folder, Gemini API Dev needs the command-line tools its instructions call (pip and npm). Our summary lists: Python 3; Node.js.
SKILL.md names 2 domains. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. As links in the text: ai.google.dev. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Gemini API Dev is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.1k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Gemini API Dev: Gemini Interactions API (Ayuilos/Miffan, 182 stars), Gemini Interactions API (JetBrains/skills, 363 stars), Gemini API Dev (Ayuilos/Miffan, 182 stars) and Gemini API Dev (JetBrains/skills, 363 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
google-gemini (a GitHub organization, an official publisher) maintains it in google-gemini/gemini-skills, which has 4,252 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 6, 2026.
Source: google-gemini/gemini-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.