# Gemini Api

> Provides the official Protobuf specifications and gRPC/REST service definitions for the Gemini API (Google Generative Language API v1beta). Use this skill when you need precise schema definitions for requests/responses (e.g., GenerateContent, Tools, FunctionCalling), multimodal content structures (Content, Part), context caching, model metadata, safety settings, or file uploads.

- **Type:** Skill
- **Install:** `agentstack add skill-stephen94125-peon-lib-gemini-api`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [stephen94125](https://agentstack.voostack.com/s/stephen94125)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [stephen94125](https://github.com/stephen94125)
- **Source:** https://github.com/stephen94125/peon-lib/tree/main/.skills/gemini-api

## Install

```sh
agentstack add skill-stephen94125-peon-lib-gemini-api
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Gemini API Documentation (Protobuf Definitions)

This skill provides the official v1beta Protobuf definitions for the Google Generative Language API (Gemini). These files contain the absolute source of truth for API capabilities, request/response structures, and schema definitions.

## When to use these references

When implementing or debugging Gemini API clients (such as in Rust, Go, or other languages), refer to these files for the exact structure of messages, enums, and RPC methods.

## Core Services & Schemas

The `.proto` files are located in `references/`. Here is a guide on where to look for specific features:

### Content Generation & Tools
- **`generative_service.proto`**: Contains the core `GenerateContentRequest` and `GenerateContentResponse`. Look here for tool configurations, system instructions, and generation configurations.
- **`content.proto`**: Defines the `Content`, `Part`, `FunctionCall`, `FunctionResponse`, `Tool`, and `ToolConfig` structures. Essential for understanding how to construct multimodal payloads and function calling schemas.
- **`safety.proto`**: Defines `HarmCategory`, `SafetySetting`, and `SafetyRating` enums and messages.

### Models & Metadata
- **`model.proto`**: Defines the `Model` message, including properties like `input_token_limit`, `output_token_limit`, and supported generation methods.
- **`model_service.proto`**: RPCs for listing and getting models (`GetModel`, `ListModels`).

### Context Caching
- **`cached_content.proto`**: Defines the `CachedContent` resource for caching large prompts.
- **`cache_service.proto`**: RPCs for managing cached contents (`CreateCachedContent`, `UpdateCachedContent`, etc.).

### File API (Multimodal Uploads)
- **`file.proto`**: Defines the `File` resource representing uploaded media (video, images, documents).
- **`file_service.proto`**: RPCs for the File API (`CreateFile`, `ListFiles`, `GetFile`, `DeleteFile`).

### Semantic Retrieval (RAG/AQA)
- **`retriever.proto` / `retriever_service.proto`**: Definitions for Corpora, Documents, Chunks, and operations like Semantic Search and Attributed Question Answering (AQA).

### Fine-tuning
- **`tuned_model.proto`**: Definitions for tuning jobs and datasets.
- **`permission.proto` / `permission_service.proto`**: Access control for tuned models and corpora.

### Legacy / PaLM Services
- **`discuss_service.proto` / `text_service.proto` / `prediction_service.proto`**: Older APIs (like `GenerateMessage` or `GenerateText`), primarily for PaLM 2 models. Usually not needed for modern Gemini implementations.

## How to use

If you need to know the exact field names, types, or enums (e.g., "Does `ToolConfig` take a string or an enum for function calling mode?"), use `grep_search` or view the relevant file in the `references/` directory.

Example: If implementing function calling, check `content.proto` for `FunctionCall` and `generative_service.proto` for where `tools` is placed in the `GenerateContentRequest`.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [stephen94125](https://github.com/stephen94125)
- **Source:** [stephen94125/peon-lib](https://github.com/stephen94125/peon-lib)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-stephen94125-peon-lib-gemini-api
- Seller: https://agentstack.voostack.com/s/stephen94125
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
