GPT-OSS 20B API
Coming soonGPT-OSS 20B is the 21B-parameter sibling of GPT-OSS 120B. It is being enabled on this platform; requests will return 503 until it is live.
This model is being enabled. Requests return
503 model_unavailable until it is live.ChatReasoningTool calling
Context window
131K tokens
Modality
Text → Text
Input
$0.07 / 1M tokens
Output
$0.27 / 1M tokens
Model ID
openai/gpt-oss-20b
Quickstart
You need an API key to call this model. Create a free account or log in.
Set INFERENCE_API_KEY to your key from the API Keys page, then run:
curl https://api.inferenceapis.com/v1/chat/completions \
-H "Authorization: Bearer $INFERENCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-oss-20b",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello! What can you do?"}
]
}'
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.inferenceapis.com/v1",
api_key=os.environ["INFERENCE_API_KEY"],
)
response = client.chat.completions.create(
model="openai/gpt-oss-20b",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello! What can you do?"},
],
)
print(response.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.inferenceapis.com/v1",
apiKey: process.env.INFERENCE_API_KEY,
});
const response = await client.chat.completions.create({
model: "openai/gpt-oss-20b",
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Hello! What can you do?" },
],
});
console.log(response.choices[0].message.content);
Endpoint
POST
https://api.inferenceapis.com/v1/chat/completions
Headers
Authorization: Bearer $INFERENCE_API_KEY
Content-Type: application/json
Content-Type: application/json
Compatible
OpenAI wire format.
/openai/v1/… is accepted too, so Groq-style base URLs work with only the host changed.
Model IDs and aliases
Send any of these as model; they all resolve to this model.
| ID | Note |
|---|---|
openai/gpt-oss-20b | Canonical |
gpt-oss-20b | Alias |
Request body
| Parameter | Type | Description |
|---|---|---|
model required |
string | Model ID: openai/gpt-oss-20b — also accepted: gpt-oss-20b |
messages required |
array | Conversation so far. Each item has a role (system, user or assistant) and content. |
max_tokens |
integer | Maximum number of tokens to generate (includes reasoning tokens — use a few hundred or more). |
temperature |
number | Sampling temperature. Higher values give more varied output. |
top_p |
number | Nucleus sampling cutoff. |
stream |
boolean | Stream the response as server-sent events. The final chunk includes usage. |
tools |
array | Tool definitions for function calling (OpenAI format). |
response_format |
object | {"type": "json_object"} for JSON mode. |
stop |
string | array | Sequences where the model stops generating. |
seed |
integer | Seed for more reproducible sampling. |
Response
200 OK · application/json
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"model": "openai/gpt-oss-20b",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hi! I can answer questions, write and edit text, help with code and more.",
"reasoning": "The user is greeting me and asking about capabilities..."
},
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": 28, "completion_tokens": 17, "total_tokens": 45 }
}
Pricing
| Input | $0.07 / 1M tokens |
| Output | $0.27 / 1M tokens |
| Billing | Pay as you go from prepaid credits. No subscription, no daily request or token cap. See all pricing. |
Errors
Errors use the OpenAI envelope: {"error": {"message", "type", "code"}}. 401 missing or invalid key · 402 insufficient_balance · 404 model_not_found · 503 model_unavailable. See the error reference and provider error guides.
