# Gemma 4 12B
URL: https://docs.munito.ai/models/google-gemma-4-12b

Munito AI serves Gemma 4 12B in the EU through an OpenAI- and Anthropic-compatible API.

Use this model ID in the `model` field of a request:

```text
google/gemma-4-12b
```

| | |
| --- | --- |
| Model ID | `google/gemma-4-12b` |
| Type | Chat |
| Input | text, audio |
| Context | 32K tokens (32,768) |
| Maximum output | 29,491 tokens |
| Regions | EU |
| Tool calls | Yes |
| Structured output | JSON schema and JSON object |
| Reasoning effort | No |

## APIs [#apis]

- [Chat Completions](https://docs.munito.ai/api/createChatCompletion): `POST /chat/completions`
- [Responses](https://docs.munito.ai/api/createResponse): `POST /responses`
- [Messages (Anthropic)](https://docs.munito.ai/api/createMessage): `POST /messages`
- [Transcribe audio](https://docs.munito.ai/api/createTranscription): `POST /audio/transcriptions`

## Prices [#prices]

Prices are in USD for each million tokens, in the standard tier. The global host bills the global price. A regional host or a regional model ID bills the price of its region.

| Region | Input | Cached input | Output |
| --- | --- | --- | --- |
| Global | $1.00 | $1.00 | $0.15 |
| EU | $1.10 | $1.10 | $0.17 |

See [Models and pricing](https://docs.munito.ai/models#google-gemma-4-12b) for the priority and flex tiers, and for [how a request is billed](https://docs.munito.ai/models#how-a-request-is-billed).

## Rate limits [#rate-limits]

Base limits per organization.

| Usage tier | Requests per minute | Input tokens per minute | Output tokens per minute |
| --- | --- | --- | --- |
| Free | 20 | 40,000 | 6,000 |
| Tier 1 | 40 | 75,000 | 12,000 |
| Tier 2 | 80 | 150,000 | 24,000 |
| Tier 3 | 160 | 300,000 | 48,000 |
| Tier 4 | 320 | 600,000 | 96,000 |
| Custom | On request | On request | On request |

See [Rate limits](https://docs.munito.ai/rate-limits) for dynamic limits, headers and retries.

Request custom limits through Support in the [console](https://console.munito.ai).

## Regions [#regions]

Munito AI serves this model in the EU. The global host, `api.munito.ai`, sends each request to a region that serves it.
To keep the processing in one region, use the host of that region:

| Region | Host |
| --- | --- |
| EU | `api.eu.munito.ai` |

The global host also accepts a regional ID, such as `google/gemma-4-12b@eu`, which keeps the request in that region.

See [Regions](https://docs.munito.ai/regions) for the base URLs and the rules for stored data.

## Example [#example]

```bash
export MUNITO_API_KEY="munitoai_..."
curl https://api.munito.ai/inference/v1/chat/completions \
  -H "Authorization: Bearer $MUNITO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemma-4-12b",
    "messages": [{"role": "user", "content": "Hello!"}],
    "max_tokens": 256
  }'
```

```python
# pip install openai
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.munito.ai/inference/v1",
    api_key=os.environ["MUNITO_API_KEY"],
)
response = client.chat.completions.create(
    model="google/gemma-4-12b",
    messages=[{"role": "user", "content": "Hello!"}],
    max_tokens=256,
)
print(response.choices[0].message.content)
```

The same model ID works with the Anthropic client. See [Send your first request](https://docs.munito.ai/quickstart).
