Gemini Live API Dev
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.
Generates a Gemini LiveAPI client service class in the user's chosen programming language.
$ npx skills add google/skills --skill gemini-live-api -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install google/skills gemini-live-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/google/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cloud/gemini-live-api .claude/skills/gemini-live-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-live-api" agent skill from https://github.com/google/skills/tree/main/skills/cloud/gemini-live-api into .claude/skills/gemini-live-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-live-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/google/skills/tree/main/skills/cloud/gemini-live-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 google/skills --skill gemini-live-api -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install google/skills gemini-live-api --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cloud/gemini-live-api .agents/skills/gemini-live-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-live-api" agent skill from https://github.com/google/skills/tree/main/skills/cloud/gemini-live-api into .agents/skills/gemini-live-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-live-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 google/skills --skill gemini-live-api -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install google/skills gemini-live-api --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cloud/gemini-live-api .cursor/skills/gemini-live-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-live-api" agent skill from https://github.com/google/skills/tree/main/skills/cloud/gemini-live-api into .cursor/skills/gemini-live-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-live-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/google/skills.git --path skills/cloud/gemini-live-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 google/skills --skill gemini-live-api -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install google/skills gemini-live-api --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cloud/gemini-live-api .gemini/skills/gemini-live-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-live-api" agent skill from https://github.com/google/skills/tree/main/skills/cloud/gemini-live-api into .gemini/skills/gemini-live-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-live-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 google/skills gemini-live-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 google/skills --skill gemini-live-api -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cloud/gemini-live-api .github/skills/gemini-live-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-live-api" agent skill from https://github.com/google/skills/tree/main/skills/cloud/gemini-live-api into .github/skills/gemini-live-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-live-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 google/skills --skill gemini-live-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 google/skills gemini-live-api --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cloud/gemini-live-api .opencode/skills/gemini-live-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-live-api" agent skill from https://github.com/google/skills/tree/main/skills/cloud/gemini-live-api into .opencode/skills/gemini-live-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-live-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-live-apiGenerates a Gemini LiveAPI client service class in the user's chosen programming language.
Gemini Live API is an agent skill from google/skills, published by the product's own GitHub organization. Generates a Gemini LiveAPI client service class in the user's chosen programming language. Use when the user wants to build, scaffold, or integrate a client that connects to the Gemini Enterprise LiveAPI websocket endpoint, handles session setup/resumption, bearer token refresh, and sending/receiving ClientMessage/ServerMessage protos. Don't use for general (non-live, non-bidirectional) Gemini API usage such as one-shot generateContent, embeddings, image/video generation, or fine-tuning — use the gemini-api skill…
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/client_server_messages.md` and `references/session_manager.md`).
It sits in AI & LLM Engineering, covering LLM API integration, Realtime and WebSockets and Embeddings. It works with Google Gemini. The repository describes itself as: Agent Skills for Google products and technologies. The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8a1ac05. 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:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
docs.cloud.google.comFrom 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 Live API loads about 2.5k tokens when it runs, and up to ~14k if it reads all its reference files. Until then it costs about 138 tokens; SKILL.md has 1,124 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 noted patterns worth knowing about, such as sudo or a known installer.
ges, and never instruct the user to run `sudo pip install`.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/skills at commit 8a1ac05, republished under its Apache-2.0 licence (© google). 1,124 words, ~2,460 tokens.
.claude/skills/gemini-live-api/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.This skill provides instructions for generating a LiveAPI client service
class that connects to the Gemini Enterprise Live API over WebSockets. The
generated client handles bidirectional streaming, bearer-token authentication
via Application Default Credentials (ADC), transparent session resumption, and
ClientMessage / ServerMessage proto exchange.
The skill also produces a demo frontend + backend service so the user can interactively validate the generated client (text, audio, video, transcription, and interrupt handling).
Before running the generation flow, ensure the following are available on the host:
A Google Cloud project with the Vertex AI / Gemini Enterprise Agent Platform APIs enabled.
Application Default Credentials configured on the host running the generated client:
gcloud auth application-default loginA destination output folder supplied by the user (e.g. /tmp/liveapi_out)
where the generated code, environment, and demo will be written. Never
mutate the host's system Python environment.
The user's chosen implementation language (Python is the default and reference language for this skill).
Provided files in references/ (do not treat these as standalone skills —
they are loaded on demand):
client_server_messages.md: Public reference for the ClientMessage /
ServerMessage schemas used by the Live API.client_server_messages.proto: The proto definition generated from
client_server_messages.md.session_manager.md: Describes how to correctly handle sessions, buffering,
and resumption on disconnection.Copy client_server_messages.md, client_server_messages.proto, and
session_manager.md from this skill's references/ folder into the user's
destination output folder. These files become the source of truth for the
generated client.
Examine the public documents linked from client_server_messages.md. If there
are any discrepancies between the public documents and the copied
client_server_messages.md / client_server_messages.proto, update the copies
in the destination folder so the generated client compiles and runs against the
current server contract.
Implement a class in the user's chosen language that:
client_server_messages.proto types (ClientMessage,
ServerMessage).For languages that require an isolated runtime (e.g. Python), create an isolated
environment (e.g. venv) inside the destination folder and generate a bash
script (e.g. setup.sh) that recreates the environment and installs
dependencies. Never install into the system interpreter or the user's global
site-packages, and never instruct the user to run sudo pip install.
The user provides the following at construction time:
project_idlocationmodel_idconfig: a ClientMessage with the setup field populated.Obtain a bearer token via Application Default Credentials, attach it to the
WebSocket connect request as Authorization: Bearer <token>, refresh the token
before or upon expiry, and reuse the refreshed token on every reconnection
(including go_away and unexpected disconnects). Do not hard-code a
long-lived API key as the only auth mechanism.
The class MUST expose the following async methods, gated on receipt of a
setup_complete ServerMessage before sending:
send_realtime_data(data): send realtime input. data is a ClientMessage
carrying a realtime_input field.send_client_content(data): send non-realtime, turn-based content that
contributes to history. data is a ClientMessage carrying a
client_content field.receive(): yield ServerMessage instances parsed from the WebSocket
stream.Do not expose synchronous blocking variants as the primary API surface.
Once the client is implemented, generate a test file that initializes the
connection and exercises sending text, audio, and video data and receiving
the responses. Ask the user for any information required to run the test
(project, model, media samples).
how_to_run.mdProvide a how_to_run.md in the destination folder that documents the generated
class. Include full examples showing how to build ClientMessage payloads for
every supported modality, how to send them, and how to receive data from the
model.
Create scripts that deploy the implementation as a service with both a frontend
UI and a backend service (any language). The service MUST reuse the
ClientMessage / ServerMessage protos from Step 1 for wire traffic. Through
the UI the user should be able to:
While implementing audio and transcription playback, follow the guidance in Live API best practices.
interrupt signalWhen a ServerMessage's server_content arrives with interrupted: true, the
UI MUST:
finished signalFor streamed input_transcription / output_transcription chunks, append to
the currently active bubble while finished is unset, and close that bubble and
start a fresh one when finished is observed. Route input_transcription text
to user-role bubbles and output_transcription text to model-role bubbles.
how_to_test_with_ui.mdWrite how_to_test_with_ui.md describing how to launch and use the demo
service. It MUST include:
http://localhost:PORT) the user should open in
their browser.Before considering the generation complete, verify each item:
client_server_messages.md, client_server_messages.proto, and
session_manager.md were copied into the destination folder.ClientMessage
and ServerMessage types.wss://{location}-aiplatform.googleapis.com/ws/google.cloud.aiplatform.v1beta1.LlmBidiService/BidiGenerateContent
(or the wss://aiplatform.googleapis.com/... global variant), and formats
the setup model field as
projects/{project_id}/locations/{location}/publishers/google/models/{model_id}.Authorization: Bearer <token>, is refreshed before expiry, and reattached on every
reconnect.send_realtime_data, send_client_content, and
receive are present, correctly typed, and gated on setup_complete.session_resumption.transparent = true), the latest new_handle is
tracked, sent-message indexing starts at 1, the buffer is pruned via
last_consumed_client_message_index, and buffered messages are replayed on
reconnect (including on go_away and WebSocket close codes 1000 / 1006).venv) plus a setup.sh
and requirements.txt (or equivalent) exist inside the destination folder;
no changes were made to system or user-global Python.how_to_run.md and how_to_test_with_ui.md are present, and the demo
UI reuses the same ClientMessage / ServerMessage protos.finished handling behave as
described above.generativelanguage.googleapis.com and
does not authenticate via API key in a query string.© google, 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 3 other files (references) in skills/cloud/gemini-live-api of google/skills.
Open the folder on GitHubat commit 8a1ac05
Gemini Live 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 Live API this skillgoogle/skills | 21k | — | ~2.5k | Automated safety check: Notes | Apache-2.0 | |
| Gemini Live API Devgoogle-gemini/gemini-skills | 4.3k | — | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Tao Finetune Cosmos EmbedNVIDIA/skills | 3.5k | — | ~3.5k | Automated safety check: Notes | Apache-2.0 | |
| Gemini Interactions APIAyuilos/Miffan | 182 | — | ~4.6k | Automated safety check: Pass | AGPL-3.0 | |
| Gemini Video Understandingeinverne/dotfiles | 121 | 1 repos | ~2.6k | Automated safety check: Notes | MIT | |
| Codebase Managementgiancarloerra/SocratiCode | 3.3k | 1 repos | ~1.8k | Automated safety check: Pass | AGPL-3.0 |
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.
NVIDIA/skills
Cosmos-Embed1 video-text embedding for text-to-video retrieval, video-to-video search, semantic deduplication, and fine-tuning.
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…
einverne/dotfiles
Analyze videos using Google's Gemini API - describe content, answer questions, transcribe audio with visual descriptions, reference timestamps, clip videos, and process YouTube URLs.
giancarloerra/SocratiCode
Set up, index, and manage SocratiCode codebase indexing. An agent skill from giancarloerra/SocratiCode.
liustack/modlens
Gives text-only models sight by running the modlens CLI on an image path or URL and returning structured JSON evidence with transcribed text, layout and semantics.
google/skills
Manages Google Cloud Privileged Access Manager entitlements and grants: create and edit entitlements, request temporary access, and approve or deny pending grants.
google/skills
Writes Terraform alerting policies for AI agents that emit OpenTelemetry metrics, covering reliability, cost, safety, security and quality signals on Google Cloud.
google/skills
Deploys open models or custom weights from Model Garden to Agent Platform endpoints, checks deployment status and cleans up endpoints, confirming before any change.
google/skills
Searches, manages and scaffolds skills in the Gemini Enterprise Agent Platform Skill Registry using bundled Python scripts and Google Cloud credentials.
google/skills
Designs GCP infrastructure as local Terraform, validates and scans it against best practices, then imports it to Application Design Center for deployment and troubleshooting.
google/skills
Analyzes BigQuery slot use, query costs and execution bottlenecks from INFORMATION_SCHEMA to diagnose slow queries, slot contention and unpartitioned scans.
Works with
Generates a Gemini LiveAPI client service class in the user's chosen programming language. Gemini Live API is an agent skill from google/skills, published by the product's own GitHub organization. Generates a Gemini LiveAPI client service class in the user's chosen programming language.
Gemini Live API fits situations like: the user wants to build; integrate a client that connects to the Gemini Enterprise LiveAPI websocket endpoint; handles session setup/resumption; bearer token refresh.
Run `npx skills add google/skills --skill gemini-live-api -a claude-code`. Or copy the skill folder (skills/cloud/gemini-live-api in google/skills) into .claude/skills/gemini-live-api in your project. Claude Code loads it when a task matches its description.
Run `npx skills add google/skills --skill gemini-live-api -a codex`. Or copy the skill folder (skills/cloud/gemini-live-api in google/skills) into .agents/skills/gemini-live-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 google/skills --skill gemini-live-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-live-api, .gemini/skills/gemini-live-api, .github/skills/gemini-live-api and .opencode/skills/gemini-live-api in your project.
Going by SKILL.md and its folder, Gemini Live API needs the command-line tools its instructions call (pip). Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: docs.cloud.google.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Gemini Live API 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 2.5k tokens (SKILL.md is roughly 9.8k 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 11k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Gemini Live API: Gemini Live API Dev (google-gemini/gemini-skills, 4.3k stars), Tao Finetune Cosmos Embed (NVIDIA/skills, 3.5k stars), Gemini Interactions API (Ayuilos/Miffan, 182 stars) and Gemini Video Understanding (einverne/dotfiles, 121 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
google (a GitHub organization, an official publisher) maintains it in google/skills, which has 20,994 GitHub stars. The repository holds 145 skills in this directory. The repository was last updated on October 6, 2026.
Source: google/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.