OpenAI: gpt-oss-20b

openai/gpt-oss-20b

gpt-oss-20b is an open-weight 21B parameter model released by OpenAI under the Apache 2.0 license. It uses a Mixture-of-Experts (MoE) architecture with 3.6B active parameters per forward pass, optimiz...

tools
MODALITIES
INPUT PRICE
$0.03per 1M
OUTPUT PRICE
$0.13per 1M
CONTEXT
131.1K
RELEASED
Aug 6, 2025
ProviderCacheUptimeChat
$0.03$0.13
Cache read$0.03

Capabilities

Input modalities
text
Output modalities
text
Features
frequency_penaltyinclude_reasoninglogit_biaslogprobsmax_tokensmin_ppresence_penaltyreasoningreasoning_effortrepetition_penaltyresponse_formatseedstopstructured_outputstemperaturetool_choicetoolstop_ktop_logprobstop_p
1

Get your API key

Create an API key from the Keys page, then set it as an environment variable:

export ONLIST_API_KEY=sk-...
2

Make your first request

Endpoints

POSThttps://onlist.io/v1/chat/completions

OpenAI Chat Completions format

Request Headers
Authorization:Bearer $ONLIST_API_KEY
Content-Type:application/json
Model:openai/gpt-oss-20b
POSThttps://onlist.io/v1/responses

OpenAI Responses format

Request Headers
Authorization:Bearer $ONLIST_API_KEY
Content-Type:application/json
Model:openai/gpt-oss-20b
POSThttps://onlist.io/v1/messages

Anthropic Messages format

Request Headers
Authorization:Bearer $ONLIST_API_KEY
Content-Type:application/json
Model:openai/gpt-oss-20b

Code samples

curl https://onlist.io/v1/chat/completions \
  -H "Authorization: Bearer $ONLIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "model": "openai/gpt-oss-20b",
       "messages": [
         {
           "role": "user",
           "content": "Explain quantum entanglement in one paragraph."
         }
       ]
     }'

Replace $ONLIST_API_KEY with the API key from your Keys page.

Authentication

All requests must include an Authorization: Bearer <TOKEN> header. Generate keys from the Keys page; keys can be scoped to specific models, groups, IP ranges, and rate limits.

3

Enable streaming

Add "stream": true to receive partial responses as server-sent events in real time.

Streaming example

curl https://onlist.io/v1/chat/completions \
  -H "Authorization: Bearer $ONLIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "model": "openai/gpt-oss-20b",
       "messages": [
         {
           "role": "user",
           "content": "Write a haiku about recursion."
         }
       ],
       "stream": true
     }'

Supported parameters

NameTypeDescription
frequency_penaltynumberPenalizes new tokens based on their existing frequency in the text (-2.0 to 2.0).
include_reasoning
logit_bias
logprobsbooleanWhether to return log probabilities of the output tokens.
max_tokensintegerMaximum number of tokens to generate in the completion.
min_p
presence_penaltynumberPenalizes new tokens based on whether they appear in the text so far (-2.0 to 2.0).
reasoning
reasoning_effortstringConstrains effort on reasoning. Supported values: "low", "medium", "high".
repetition_penaltynumberPenalizes repeated tokens. Values > 1 discourage repetition.
response_formatobjectSpecifies the output format. Use {"type": "json_object"} for JSON mode.
seedintegerIf specified, the system will attempt deterministic sampling for reproducible results.
stopstring | arrayUp to 4 sequences where the API will stop generating tokens.
structured_outputs
temperaturenumberSampling temperature between 0 and 2. Higher values make output more random.
tool_choicestring | objectControls which tool is called. "auto", "none", "required", or a specific function.
toolsarrayA list of tools the model may call. Currently supports functions.
top_kintegerLimits token selection to the k most likely candidates at each step.
top_logprobsintegerNumber of most likely tokens to return at each position (0-20). Requires logprobs: true.
top_pnumberNucleus sampling. The model considers tokens with top_p probability mass.

These are the request parameters this model accepts. Parameter semantics follow the OpenAI Chat Completions specification.