# Google Gemini

> Use a paid-tier Gemini API key with ShopAssist; free-tier keys are rejected because Google may use their data.

Source: https://shopassist.coec.dk/docs/ai/google-gemini · Updated 2026-10-01

## Create a key [#create-key]

As of October 2026, in Google AI Studio:

1. Open **aistudio.google.com → Get API key** and create a key in a Google Cloud project.
2. In the project, **enable billing** (a paid tier). Free-tier keys are rejected by ShopAssist.
3. Copy the key (`AIza…`).

## Account tier [#tier]

**Paid tier only.** On Google's free tier, prompts and responses may be used to improve Google's products, which is not acceptable for shopper conversations. You confirm the paid tier when saving the key, and the connection test rejects keys whose errors mention the free tier (`gemini_free_tier`).

## Recommended models [#models]

| Model | Id | Tier | Context window | Images | Processing |
| --- | --- | --- | --- | --- | --- |
| Gemini 3.1 Flash-Lite | `gemini-3.1-flash-lite` | Standard | 1,048,576 tokens | Yes | Google global |
| Gemini 3.5 Flash-Lite | `gemini-3.5-flash-lite` | Standard | 1,048,576 tokens | Yes | Google global |
| Gemini 3.8 Flash | `gemini-3.8-flash` | Premium | 1,048,576 tokens | Yes | Google global |

## Fields [#fields]

| Field                  | Notes                                                |
| ---------------------- | ---------------------------------------------------- |
| API key                | `AIza…`                                              |
| Paid tier confirmation | Required                                             |
| Model                  | A model from the list or any current `gemini-` model |

## Data location [#data-location]

> **Data location:** Only paid-tier keys are accepted. Google doesn't guarantee EU processing on the Gemini API; use Vertex AI for EU residency.

## Connection test [#probe]

| Check | Required | What it tests | On failure |
| --- | --- | --- | --- |
| `auth` | Yes | The key is accepted (lists models or sends a tiny request) | `auth_failed`, `insufficient_quota`, `gemini_free_tier`, `endpoint_blocked`, `provider_unavailable`, `model_not_found` |
| `tools` | Yes | The model calls a tool with valid arguments and continues after the result | `tools_unsupported`: the model can't run the shopping tools |
| `ttft` | No (degraded) | The first answer event arrives within 8 seconds | `ttft_slow`: works, but shoppers wait |
| `parallel_tools` | No | Two tools are called in one step | `parallel_tools_unsupported`: slightly slower answers |
| `vision` | No | The model names the colour of a test image | `vision_unsupported`: visual search is off |
| `context` | Self-hosted only | A fact at the start of an 8,000-token prompt is recalled | `context_too_small`: the endpoint truncates prompts |

## Cost [#cost]

Estimate based on list prices on 2026-09-28; your provider bills you directly.

| Provider | Model | USD per 1,000 conversations | ≈ EUR per 1,000 conversations |
| --- | --- | --- | --- |
| Azure OpenAI | GPT-6 Luna | $3.61 | €3.10 |
| Mistral | Mistral Small 4 | $4.71 | €4.05 |
| OpenAI | GPT-5.6 Luna | $7.62 | €6.55 |
| Google Gemini | Gemini 3.1 Flash-Lite | $8.85 | €7.61 |
| OpenAI | GPT-5 mini | $9.85 | €8.47 |
| Google Gemini | Gemini 3.5 Flash-Lite | $12.02 | €10.34 |
| Mistral | Mistral Large 3 | $14.70 | €12.64 |
| OpenAI | GPT-5.4 mini | $26.55 | €22.83 |
| Anthropic | Claude Haiku 4.5 | $36.10 | €31.05 |
| Anthropic | Claude Sonnet 5 | $72.20 | €62.09 |

## Troubleshooting [#troubleshooting]

* **`gemini_free_tier`:** enable billing on the key's Google Cloud project and test again.
* **401 / `auth_failed`:** the key is restricted to other APIs or was deleted; check **API restrictions** in the Cloud console.
* **429 / `rate_limited` or `insufficient_quota`:** raise the project's quota.
* **`model_not_found`:** preview models change names; choose a stable model.
