Academy → Practical GuidesOfficial documentation · Arabic guidance

Google Gemini

التشغيل عبر Google Gemini

Intermediate7 min readLesson 254 questions✓ 2026-08-18
Before you read

What this page is, and what it holds.

This page covers Google Gemini. You will use hermes model and hermes chat here; about 7 minutes to read. The priciest model is not always best for your task. Compare on one task and set a spend cap.

9sections
16code examples
3tables
3commands
1,137source words
The official one-line description

Use Hermes Agent with Google Gemini — native AI Studio API, API-key setup, tool calling, streaming, and quota guidance

What you will be able to do

Outcomes taken from this page, not a template.

  • Understand what المزوّد والنموذج is and when you need it.
  • Run hermes model and hermes chat and understand what happens next.
  • Read the table and take only the row that applies to you.
  • Set GOOGLE_API_KEY in the right place.
Identifiers you will meet

Exactly as they appear in Hermes.

Commands
  • hermes model
  • hermes chat
  • hermes doctor
Environment variables
  • GOOGLE_API_KEY
  • GEMINI_API_KEY
  • GEMINI_BASE_URL
Page map

Jump to the part you need.

  1. 01Prerequisites
  2. 02Quick Start
  3. 03Configuration
  4. 04Available Models
  5. 05Switching Models Mid-Session
  6. 06Diagnostics
  7. 07Gateway (Messaging Platforms)
  8. 08Troubleshooting
  9. 09Related
The full official page

Nothing summarised away.

The documentation body below is reproduced from the official source so commands and identifiers stay exact. Each section carries a short note describing what it contains.

Hermes Agent supports Google Gemini as a native provider using the Google AI Studio / Gemini API — not the OpenAI-compatible endpoint. This lets Hermes translate its internal OpenAI-shaped message and tool loop into Gemini's native generateContent API while preserving tool calling, streaming, multimodal inputs, and Gemini-specific response metadata.

Prerequisites

Settings you configure once. Change one at a time so you can see what each does. Set GOOGLE_API_KEY, GEMINI_API_KEY in your environment, not in the chat.

  • Google AI Studio API key — create one at aistudio.google.com/apikey ↗
  • Billing-enabled Google Cloud project — recommended for agent use. Gemini's free tier is too small for long-running agent sessions because Hermes may make several model calls per user turn.
  • Hermes installed — no extra Python package is required for the native Gemini provider.

Quick Start

Ordered, practical steps. Run one and confirm it worked before moving on. Commands here: hermes chat, hermes model.

Shell11 lines
# Add your Gemini API key
echo "GOOGLE_API_KEY=..." >> ~/.hermes/.env

# Select Gemini as your provider
hermes model
# → Choose "More providers..." → "Google AI Studio"
# → Hermes checks your key tier and shows Gemini models
# → Select a model

# Start chatting
hermes chat

If you prefer direct config editing, use the native Gemini API base URL:

YAML4 lines
model:
  default: gemini-3-flash-preview
  provider: gemini
  base_url: https://generativelanguage.googleapis.com/v1beta

Configuration

Settings you configure once. Change one at a time so you can see what each does. Commands here: hermes model. Set GOOGLE_API_KEY, GEMINI_BASE_URL in your environment, not in the chat.

After running hermes model, your ~/.hermes/config.yaml will contain:

YAML4 lines
model:
  default: gemini-3-flash-preview
  provider: gemini
  base_url: https://generativelanguage.googleapis.com/v1beta

And in ~/.hermes/.env:

Shell1 line
GOOGLE_API_KEY=...

Native Gemini API

The recommended endpoint is:

Text1 line
https://generativelanguage.googleapis.com/v1beta

Hermes detects this endpoint and creates its native Gemini adapter. Internally, Hermes still keeps the agent loop in OpenAI-shaped messages, then translates each request to Gemini's native schema:

  • messages[] → Gemini contents[]
  • system prompts → Gemini systemInstruction
  • tool schemas → Gemini functionDeclarations
  • tool results → Gemini functionResponse parts
  • streaming responses → OpenAI-shaped stream chunks for the Hermes loop

Prefer the Native Endpoint

Google also exposes an OpenAI-compatible endpoint:

Text1 line
https://generativelanguage.googleapis.com/v1beta/openai/

For Hermes agent sessions, prefer the native Gemini endpoint above. Hermes includes a native Gemini adapter so it can map multi-turn tool use, tool-call results, streaming, multimodal inputs, and Gemini response metadata directly onto Gemini's generateContent API. The OpenAI-compatible endpoint is still useful when you specifically need OpenAI API compatibility.

If you previously set GEMINI_BASE_URL to the /openai URL, remove it or change it:

Shell1 line
GEMINI_BASE_URL=https://generativelanguage.googleapis.com/v1beta

Available Models

A lookup table. Do not read it all; find the row that applies to you. Commands here: hermes model.

The hermes model picker shows Gemini models maintained in Hermes' provider registry. Common choices include:

ModelIDNotes
Gemini 3.1 Pro Previewgemini-3.1-pro-previewMost capable preview model when available
Gemini 3 Pro Previewgemini-3-pro-previewStrong reasoning and coding model
Gemini 3 Flash Previewgemini-3-flash-previewRecommended default balance of speed and capability
Gemini 3.1 Flash Lite Previewgemini-3.1-flash-lite-previewFastest / lowest-cost option when available

Model availability changes over time. If a model disappears or is not enabled for your key, run hermes model again and pick one from the current list.

Latest Aliases

Google publishes moving aliases for the Pro and Flash Gemini families. gemini-pro-latest and gemini-flash-latest are useful when you want Google to advance the model automatically without changing your Hermes config.

AliasCurrently tracksNotes
gemini-pro-latestLatest Gemini Pro modelBest when you want Google's current Pro default
gemini-flash-latestLatest Gemini Flash modelBest when you want Google's current Flash default
YAML4 lines
model:
  default: gemini-pro-latest
  provider: gemini
  base_url: https://generativelanguage.googleapis.com/v1beta

If you need strict reproducibility, prefer explicit model IDs such as gemini-3.1-pro-preview or gemini-3-flash-preview.

Gemma via the Gemini API

Google also exposes Gemma models through the Gemini API. Hermes recognizes these as Google models, but hides very low-throughput Gemma entries from the default model picker so new users do not accidentally select an evaluation-tier model for a long-running agent session.

Useful evaluation IDs include:

ModelIDNotes
Gemma 4 31B ITgemma-4-31b-itLarger Gemma model; useful for compatibility and quality evaluation
Gemma 4 26B A4B ITgemma-4-26b-a4b-itSmaller active-parameter variant when available

These models are best treated as evaluation options on Gemini API keys. Google's Gemma API pricing is free-tier-only and the usage caps are low compared with production Gemini models, so sustained Hermes agent use should normally move to a paid Gemini model, a self-hosted deployment, or another provider with appropriate quota.

To use a Gemma model that is hidden from the picker, set it directly:

YAML4 lines
model:
  default: gemma-4-31b-it
  provider: gemini
  base_url: https://generativelanguage.googleapis.com/v1beta

Switching Models Mid-Session

Commands you type in a terminal. Understand what one does before copying it. Commands here: hermes model.

Use the /model command during a conversation:

Text6 lines
/model gemini-3-flash-preview
/model gemini-flash-latest
/model gemini-3-pro-preview
/model gemini-pro-latest
/model gemma-4-31b-it
/model gemini-3.1-flash-lite-preview

If you have not configured Gemini yet, exit the session and run hermes model first. /model switches among already-configured providers and models; it does not collect new API keys.

Diagnostics

Settings you configure once. Change one at a time so you can see what each does. Commands here: hermes doctor. Set GOOGLE_API_KEY, GEMINI_API_KEY in your environment, not in the chat.

Shell1 line
hermes doctor

The doctor checks:

  • Whether GOOGLE_API_KEY or GEMINI_API_KEY is available
  • Whether configured provider credentials can be resolved

Gateway (Messaging Platforms)

Explains the idea itself. Read it slowly; the later sections build on it.

Gemini works with all Hermes gateway platforms (Telegram, Discord, Slack, WhatsApp, LINE, Feishu, etc.). Configure Gemini as your provider, then start the gateway normally:

Shell2 lines
hermes gateway setup
hermes gateway start

The gateway reads config.yaml and uses the same Gemini provider configuration.

Troubleshooting

A troubleshooting section. Find the symptom that matches yours rather than reading it end to end. Commands here: hermes model.

"Gemini native client requires an API key"

Hermes could not find a usable API key. Add one of these to ~/.hermes/.env:

Shell3 lines
GOOGLE_API_KEY=...
# or
GEMINI_API_KEY=...

Then run hermes model again.

"This Google API key is on the free tier"

Hermes probes Gemini API keys during setup. Free-tier quotas can be exhausted after a handful of agent turns because tool use, retries, compression, and auxiliary tasks may require multiple model calls.

Enable billing on the Google Cloud project attached to your key, regenerate the key if needed, then run:

Shell1 line
hermes model

"404 model not found"

The selected model is not available for your account, region, or key. Run hermes model again and pick another Gemini model from the current list.

Gemma model is not shown in hermes model

Hermes may hide low-throughput Gemma models from the picker by default. If you intentionally want to evaluate one, set the model ID directly in ~/.hermes/config.yaml.

"429 quota exceeded" on Gemma

Gemma models exposed through the Gemini API are useful for evaluation, but their Gemini API free-tier caps are low. Use them for compatibility testing, then switch to a paid Gemini model or another provider for sustained agent sessions.

OpenAI-compatible endpoint is configured

Check ~/.hermes/.env for:

Shell1 line
GEMINI_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai/

Change it to the native endpoint or remove the override:

Shell1 line
GEMINI_BASE_URL=https://generativelanguage.googleapis.com/v1beta

Tool calling fails with schema errors

Upgrade Hermes and rerun hermes model. The native Gemini adapter sanitizes tool schemas for Gemini's stricter function-declaration format; older builds or custom endpoints may not.

Knowledge check

4 questions answered by this page alone.

Every option is a real identifier from the Hermes documentation. The wrong ones are real too, just from other pages.

1. In this lesson's table, what is the “ID” for “Gemini 3.1 Pro Preview”?
2. Which of these environment variables actually appears in this lesson?
3. Which of these headings does not appear in this lesson?
4. Which configuration key appears in this lesson's examples?