gemini-api-integration – Coding skill for AI agents
Use when integrating Google Gemini API into projects. Covers model selection, multimodal inputs, streaming, function calling, and production best practices.
Install the gemini-api-integration skill with one command
Pick the tool you use, copy the command and paste it in your terminal. The skill lands in that tool's skills folder and is ready in your next session.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/gemini-api-integration-d786d.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /gemini-api-integration – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/gemini-api-integration-d786d.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $gemini-api-integration – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/gemini-api-integration-d786d.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /gemini-api-integration – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/gemini-api-integration-d786d.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /gemini-api-integration – then describe the task you want done.
SKILL.md content
Gemini API Integration
Overview
This skill guides AI agents through integrating Google Gemini API into applications — from basic text generation to advanced multimodal, function calling, and streaming use cases. It covers the full Gemini SDK lifecycle with production-grade patterns.
When to Use This Skill
- Use when setting up Gemini API for the first time in a Node.js, Python, or browser project
- Use when implementing multimodal inputs (text + image/audio/video)
- Use when adding streaming responses to improve perceived latency
- Use when implementing function calling / tool use with Gemini
- Use when optimizing model selection (Flash vs Pro vs Ultra) for cost and performance
- Use when debugging Gemini API errors, rate limits, or quota issues
Step-by-Step Guide
1. Select the supported SDK and model
Use the Google GenAI SDK (@google/genai for JavaScript, google-genai for Python), pin a tested package version, and select an available model for the account. The older @google/generative-ai / google-generativeai APIs and historical 1.5/2.0 model table are not current setup guidance. Check model availability, deprecations, pricing and feature support in official documentation before choosing; do not assume a universal cheapest or most capable model.
2. Server-side generation
Set GEMINI_API_KEY through a secret manager or protected environment and GEMINI_MODEL to the verified model ID. Never ship a long-lived key in browser code.
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const response = await ai.models.generateContent({
model: process.env.GEMINI_MODEL,
contents: "Explain async/await in JavaScript"
});
console.log(response.text);import os
from google import genai
with genai.Client(api_key=os.environ["GEMINI_API_KEY"]) as client:
response = client.models.generate_content(
model=os.environ["GEMINI_MODEL"], contents="Explain async/await")
print(response.text)3. Streaming and multimodal inputs
Use the pinned SDK's models.generateContentStream / models.generate_content_stream interfaces and handle partial output, cancellation and empty/blocked responses. Verify MIME types, model limits and file retention before transmitting images/audio/video. Obtain permission for sensitive content; do not put private inputs or access URLs in logs. File uploads and generation may incur charges.
4. Function calling and chat
A model's function call is an untrusted proposal. Validate the name against a fixed allowlist and arguments against a schema, enforce user authorization, and limit calls/time/cost before dispatch. Return actual tool results through the pinned SDK's documented function-response format; never fabricate results. Preserve the required conversation turns and function-call identifiers. A chat history entry is not a privileged system instruction; use the supported configuration field for system instructions.
5. Failure handling
Inspect structured errors, block reasons and finish reasons without assuming every response has text. Retry only transient errors with bounded exponential backoff, jitter and any retry-after guidance; enforce deadlines and a retry budget. A failed network request may already have incurred usage. Do not retry invalid credentials or malformed requests indefinitely, and do not weaken safety settings merely to bypass a blocked response.
Examples
For a production integration, first run a small non-sensitive prompt against a test project, record the SDK/model version and response status, then test streaming cancellation, blocked output, quota exhaustion and rejected tool arguments. Report what was actually exercised.
Sources
- [Google GenAI migration guide](https://ai.google.dev/gemini-api/docs/migrate)
- [Content generation API](https://ai.google.dev/api/generate-content)
Limitations
SDK syntax, model availability, quotas and pricing change. These examples are unexecuted integration templates and do not establish account access, model quality or production readiness.
Related skills
- gemini-interactions-api – Build with the Gemini Interactions API for text, chat, multimodal generation, streaming…
- gemini-live-api-dev – Use this skill when building real-time, bidirectional streaming applications with the…
- gemini-omni-flash-api – Use this skill for generative video editing, text-to-video, image-referenced video…
- senior-fullstack – Fullstack development toolkit with project scaffolding for Next.js, FastAPI, MERN, and…
- gh-attach – Upload and download GitHub user-attachments (screenshots, PDFs, zips, videos) from the…
- gh-review-requests – Fetch unread GitHub notifications for open PRs where review is requested from a…
- gha-security-review – Review GitHub Actions workflows for exploitable vulnerabilities with concrete attack…
- git-advanced-workflows – Master advanced Git techniques to maintain clean history, collaborate effectively, and…