Gemini Interactions API
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…
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…
$ npx skills add Ayuilos/Miffan --skill gemini-interactions-api -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Ayuilos/Miffan gemini-interactions-api --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/Ayuilos/Miffan.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/gemini-interactions-api .claude/skills/gemini-interactions-api && 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-interactions-api" agent skill from https://github.com/Ayuilos/Miffan/tree/master/.agents/skills/gemini-interactions-api into .claude/skills/gemini-interactions-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-interactions-api", 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/Ayuilos/Miffan/tree/master/.agents/skills/gemini-interactions-apiType 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 Ayuilos/Miffan --skill gemini-interactions-api -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Ayuilos/Miffan gemini-interactions-api --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ayuilos/Miffan.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/gemini-interactions-api .agents/skills/gemini-interactions-api && 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-interactions-api" agent skill from https://github.com/Ayuilos/Miffan/tree/master/.agents/skills/gemini-interactions-api into .agents/skills/gemini-interactions-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-interactions-api", 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 Ayuilos/Miffan --skill gemini-interactions-api -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Ayuilos/Miffan gemini-interactions-api --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ayuilos/Miffan.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/gemini-interactions-api .cursor/skills/gemini-interactions-api && 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-interactions-api" agent skill from https://github.com/Ayuilos/Miffan/tree/master/.agents/skills/gemini-interactions-api into .cursor/skills/gemini-interactions-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-interactions-api", 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/Ayuilos/Miffan.git --path .agents/skills/gemini-interactions-api--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 Ayuilos/Miffan --skill gemini-interactions-api -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Ayuilos/Miffan gemini-interactions-api --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ayuilos/Miffan.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/gemini-interactions-api .gemini/skills/gemini-interactions-api && 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-interactions-api" agent skill from https://github.com/Ayuilos/Miffan/tree/master/.agents/skills/gemini-interactions-api into .gemini/skills/gemini-interactions-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-interactions-api", 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 Ayuilos/Miffan gemini-interactions-apiInstalls 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 Ayuilos/Miffan --skill gemini-interactions-api -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Ayuilos/Miffan.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/gemini-interactions-api .github/skills/gemini-interactions-api && 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-interactions-api" agent skill from https://github.com/Ayuilos/Miffan/tree/master/.agents/skills/gemini-interactions-api into .github/skills/gemini-interactions-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-interactions-api", 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 Ayuilos/Miffan --skill gemini-interactions-api -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Ayuilos/Miffan gemini-interactions-api --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ayuilos/Miffan.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/gemini-interactions-api .opencode/skills/gemini-interactions-api && 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-interactions-api" agent skill from https://github.com/Ayuilos/Miffan/tree/master/.agents/skills/gemini-interactions-api into .opencode/skills/gemini-interactions-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-interactions-api", 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-interactions-apiA 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…
Gemini Interactions API is an agent skill from Ayuilos/Miffan. 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. This skill covers the Interactions API, the recommended way to use Gemini models and agents in Python and TypeScript.
Its SKILL.md is about 4.6k 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 Media & Creative, covering Structured output and tool calling, LLM API integration and Image generation. It works with Google Gemini, Python, TypeScript and JavaScript. The repository describes itself as: RikkaHub fork,Android AI 客户端。支持 ChatGPT 订阅登录使用、跨应用划词悬浮翻译、助手工作区文件隔离、远程工作区、文档与 HTML 预览、可定制动态角色。 The licence is AGPL-3.0.
Read from SKILL.md and the folder at commit caa64b2. 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 Interactions API loads about 4.6k tokens when it runs, and up to ~6.4k if it reads all its reference files. Until then it costs about 108 tokens; SKILL.md has 989 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 Ayuilos/Miffan at commit caa64b2, republished under its AGPL-3.0 licence (© Ayuilos). 989 words, ~4,617 tokens.
.claude/skills/gemini-interactions-api/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.5-flash: 1M tokens, fast, balanced performance, multimodalgemini-3.1-pro-preview: 1M tokens, complex reasoning, coding, researchgemini-3.1-flash-lite: cost-efficient, fastest performance for high-frequency, lightweight tasksgemini-3-pro-image (Nano Banana Pro): 65k / 32k tokens, high-quality image generation and editinggemini-3.1-flash-image (Nano Banana 2): 65k / 32k tokens, fast, efficient image generation and editinggemini-3.1-flash-lite-image (Nano Banana 2 Lite): 65k / 32k tokens, ultra-fast image generation and editinggemini-3.1-flash-tts-preview: expressive text-to-speech with Director's Chair promptinggemini-omni-flash-preview: video generation, image-referenced video generation, first-frame-to-video, and video editinggemma-4-31b-it: Gemma 4 dense model, 31B parametersgemma-4-26b-a4b-it: Gemma 4 MoE model, 26B total / 4B active parameters[!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.5-flashinstead and note the substitution.
antigravity-preview-05-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.3.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.
store=true). Paid tier retains for 55 days, free tier for 1 day.store=false to opt out, but this disables previous_interaction_id and background=true.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.from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.5-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.5-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.5-flash",
input="Hi, my name is Phil."
)
# Second turn — server remembers context
interaction2 = client.interactions.create(
model="gemini-3.5-flash",
input="What is my name?",
previous_interaction_id=interaction1.id
)
print(interaction2.output_text)const interaction1 = await client.interactions.create({
model: "gemini-3.5-flash",
input: "Hi, my name is Phil.",
});
const interaction2 = await client.interactions.create({
model: "gemini-3.5-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-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 for capabilities, tools, multimodal input, and pricing.
from google import genai
client = genai.Client()
interaction = client.interactions.create(
agent="antigravity-preview-05-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-05-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-05-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-05-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.5-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.5-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)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
© Ayuilos, AGPL-3.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 .agents/skills/gemini-interactions-api of Ayuilos/Miffan.
Open the folder on GitHubat commit caa64b2
Gemini Interactions API 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 Interactions API this skillAyuilos/Miffan | 192 | — | ~4.6k | Automated safety check: Pass | AGPL-3.0 | |
| Gemini Interactions APIJetBrains/skills | 364 | — | ~2.5k | Automated safety check: Pass | None | |
| Gemini API Devgoogle-gemini/gemini-skills | 4.3k | — | ~5.1k | Automated safety check: Pass | Apache-2.0 | |
| Gemini Live API Devgoogle-gemini/gemini-skills | 4.3k | — | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Gemini Interactions APIsickn33/agentic-awesome-skills | 47k | 1 repos | ~4.8k | Automated safety check: Pass | Apache-2.0 | |
| Gemini API DevJetBrains/skills | 364 | — | ~1.6k | Automated safety check: Pass | None |
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…
google-gemini/gemini-skills
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…
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.
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.
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…
0x0funky/agent-sprite-forge
Generates an image or an image-to-video clip through a configured provider API or a signed-in Codex or Grok CLI, and reports the route, file, hash and cost estimate.
Ayuilos/Miffan
Publish a GitHub release for this fork, with a bilingual changelog that separates fork-owned changes from changes introduced by upstream merges.
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…
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, streaming responses…. Gemini Interactions API is an agent skill from Ayuilos/Miffan. 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.
Gemini Interactions API fits situations like: writing code that calls the Gemini API for text generation; multi-turn chat; multimodal understanding; image generation.
Run `npx skills add Ayuilos/Miffan --skill gemini-interactions-api -a claude-code`. Or copy the skill folder (.agents/skills/gemini-interactions-api in Ayuilos/Miffan) into .claude/skills/gemini-interactions-api in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Ayuilos/Miffan --skill gemini-interactions-api -a codex`. Or copy the skill folder (.agents/skills/gemini-interactions-api in Ayuilos/Miffan) into .agents/skills/gemini-interactions-api 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 Ayuilos/Miffan --skill gemini-interactions-api -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-interactions-api, .gemini/skills/gemini-interactions-api, .github/skills/gemini-interactions-api and .opencode/skills/gemini-interactions-api in your project.
Going by SKILL.md and its folder, Gemini Interactions API 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 Interactions API is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.6k tokens (SKILL.md is roughly 18k 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 1.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Gemini Interactions API: Gemini Interactions API (JetBrains/skills, 364 stars), Gemini API Dev (google-gemini/gemini-skills, 4.3k stars), Gemini Live API Dev (google-gemini/gemini-skills, 4.3k stars) and Gemini Interactions API (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Ayuilos (a GitHub user) maintains it in Ayuilos/Miffan, which has 192 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 6, 2026.
Source: Ayuilos/Miffan on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.