Granite 4.1 8B
by ibm · family granite
Facts
| Release date | 2026-04-29 |
|---|---|
| Retired date | — |
| Knowledge cutoff | — |
| Context (max) | 131,072 |
| Max output | — |
| Modalities | text → text |
| Aliases | granite-4.1-8b |
| Open weights | yes (ibm-granite/granite-4.1-8b) |
| Description | IBM's current small long-context instruct model: 8B dense, 131K context, Apache-2.0. $0.05/$0.10 per Mtok on OpenRouter. |
Unknown values are shown as —.
Offerings
| Provider | Wire ID | Variant | Endpoint | Protocol | Status | Price (USD / Mtok) | Reasoning |
|---|---|---|---|---|---|---|---|
| OpenRouter | ibm-granite/granite-4.1-8b | chat-completions | openai-chat | retired | 0.05 / 0.10 | none · default off · returns reasoning_content |
Reasoning controls
OpenRouter· ibm-granite/granite-4.1-8b· chat-completions none
none · default off · returns reasoning_content
Example requests
OpenRouter · openai-chat · ibm-granite/granite-4.1-8b
curl 'https://openrouter.ai/api/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "ibm-granite/granite-4.1-8b",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
]
}'Python (requests)
import requests
resp = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "ibm-granite/granite-4.1-8b",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
]
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "ibm-granite/granite-4.1-8b",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
]
}),
})
console.log(await resp.json())