google/gemma-4-31b-it:free
Served by OpenRouter through this free, OpenAI-compatible gateway. Pin it by name, or let the router pick it.
Model id to send
openrouter/google/gemma-4-31b-it:free
Sending the bare name google/gemma-4-31b-it:free
works too, and lets the router use any provider that serves it. The
openrouter/ prefix pins this one.
Too little traffic through this pairing in the last 30 days to publish a median that would mean anything. Figures appear here once it has served enough requests to be worth quoting.
Call it
curl https://dreamprompting.com/api/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openrouter/google/gemma-4-31b-it:free",
"messages": [{"role":"user","content":"Hello!"}]
}'
from openai import OpenAI
client = OpenAI(base_url="https://dreamprompting.com/api/v1",
api_key="YOUR_API_KEY")
r = client.chat.completions.create(
model="openrouter/google/gemma-4-31b-it:free",
messages=[{"role": "user", "content": "Hello!"}],
)
print(r.choices[0].message.content)
Get a free key, or try it with no account in the playground. Full parameters are in the API docs.
What happens when it is busy
Free tiers run out. When OpenRouter rate limits this model, the router moves to the
next provider in the chain and the request still answers, from a different model.
Send "allow_fallback": false to refuse the
substitution and get an error instead, which is what you want if your application announces which model it
is using.
If you would rather not share the allowance at all, add your own OpenRouter key: requests then run on your account, with no daily quota. See pricing.