AI Models
Gemma 4 31B
Google's open-weight 31B parameter model. Strong performance for its size with a 262K context window at a budget price.
POST
$0.01/call/v1/ai/chatOverview
Google's open-weight 31B parameter model. Strong performance for its size with a 262K context window at a budget price.
| Property | Value |
|---|---|
| Model ID | google/gemma-4-31b-it |
| Context Window | 262,144 tokens |
| Max Output | 8,192 tokens |
| Input Price | $0.14 / 1M tokens |
| Output Price | $0.40 / 1M tokens |
Usage
const res = await fetch('https://api.yepapi.com/v1/ai/chat', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'google/gemma-4-31b-it',
messages: [{ role: 'user', content: 'Write a function in Python that validates an email address using regex.' }],
}),
});
const { data } = await res.json();
console.log(data.message.content);curl -X POST https://api.yepapi.com/v1/ai/chat \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "google/gemma-4-31b-it", "messages": [{"role": "user", "content": "Write a function in Python that validates an email address using regex."}]}'Request Body
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
model | string | Yes | Model ID (e.g. google/gemma-4-31b-it) | — |
messages | Message[] | Yes | Array of { role, content } objects | — |
maxTokens | number | No | Maximum tokens in the response | Model default |
temperature | number | No | Sampling temperature (0.0–2.0) | 1.0 |
topP | number | No | Nucleus sampling threshold | 1.0 |
frequencyPenalty | number | No | Penalize repeated tokens | 0 |
presencePenalty | number | No | Penalize tokens already present | 0 |
stream | boolean | No | Enable SSE streaming | false |
Info
All AI models use the /v1/ai/chat endpoint. Specify the model with the model field.
Response
{
"ok": true,
"data": {
"model": "google/gemma-4-31b-it",
"message": {
"role": "assistant",
"content": "import re\n\ndef validate_email(email: str) -> bool:\n pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$'\n return bool(re.match(pattern, email))"
},
"usage": {
"promptTokens": 17,
"completionTokens": 68,
"totalTokens": 85
}
}
}Streaming
Set "stream": true to receive Server-Sent Events. Each chunk contains a delta object:
data: {"delta":{"content":"import"},"model":"google/gemma-4-31b-it","index":0}
data: [DONE]Under the Hood
We handle auth, billing, and response normalization — you just send messages.