OneRouter
Models / google / Gemma 4 31B (free)
google

Gemma 4 31B (free)

free

Send this model by its id from any OpenAI-compatible client. One key, one base URL, 262K of context.

google/gemma-4-31b-it:free
FreeInput / 1M tokens
FreeOutput / 1M tokens
262KContext window
32KMaximum output

This model is the current Open Tier resolution and is charged at $0. Quotas apply.

Use this model

Every snippet carries this model’s id. The base URL and the key are the same ones you already use for every other model in the catalog.

curl https://onerouter.network/v1/chat/completions \
  -H "Authorization: Bearer $ONEROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemma-4-31b-it:free",
    "messages": [{"role":"user","content":"ping"}],
    "stream": true
  }'

More clients — Cursor, Zed, Continue, Aider, LiteLLM — are on client setup.

Specification

Model IDgoogle/gemma-4-31b-it:free
Authorgoogle
Context window262,144 tokens
Maximum output32,768 tokens
Inputimage, text, video
Outputtext
Input priceFree / 1M tokens
Output priceFree / 1M tokens

Endpoints

Send the id unchanged on either supported shape:

EndpointShapeState
POST /v1/chat/completionsOpenAI Chat CompletionsLive
POST /v1/messagesAnthropic MessagesLive
POST /v1/responsesOpenAI ResponsesNot implemented

Both live shapes accept JSON and SSE. Set "stream": true for incremental output — see streaming. /v1/responses answers 400 unsupported_endpoint.

Hosts

Priority is the catalog order, not a live latency score.

HostPriorityWhen it serves
openrouter1Tried first

A single route serves this model. There is nowhere to fail over to: if the host does not answer, the request returns 503 model_unavailable and nothing is charged.

Pin one host and refuse failover entirely:

json
{
  "model": "google/gemma-4-31b-it:free",
  "messages": [{ "role": "user", "content": "ping" }],
  "provider": { "only": ["openrouter"] }
}

← Back to the catalog · Model guide · Get a key