GPT OSS 20B
GPT OSS 20B is OpenAI's smaller open-weight model with roughly 21 billion total parameters and 3.6 billion active per token, designed for low-latency, agentic, and on-device workloads.
View API reference- Input and output price
- Prices from: Input $0.03, Output $0.14, Per 1M tokens
- 24h uptime
- Loading AI Gateway uptime
import { streamText } from 'ai'
const result = streamText({ model: 'openai/gpt-oss-20b', prompt: 'Why is the sky blue?'})Copy link to headingPlayground
Try out GPT OSS 20B by OpenAI. Usage is billed to your team at API rates. Free users (those who haven't made a payment) get $5 of credits every 30 days.
GPT OSS 20B
Copy link to headingProviders
Route requests across multiple providers. Copy a provider slug to set your preference. Visit the docs for more info. Using a provider means you agree to their terms, listed under Legal.
| Provider |
|---|
Copy link to headingUptime24 hours
Direct request success rate on AI Gateway and per-provider. Visit the docs for more info.
Copy link to headingThroughput24 hours
P50 throughput on live AI Gateway traffic, in tokens per second (TPS). Visit the docs for more info.
Copy link to headingLatency24 hours
P50 time to first token (TTFT) on live AI Gateway traffic, in milliseconds. View the docs for more info.
Getting started
Call GPT OSS 20B through AI Gateway with the AI SDK generateText and streamText functions, or through the OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages APIs by changing the base URL. AI Gateway authenticates the request and routes it to an available provider.
Install the AI SDK (pnpm add ai dotenv), create an API key from the API Keys page, and set it as AI_GATEWAY_API_KEY in your environment. Full setup is covered in the text generation quickstart.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'openai/gpt-oss-20b', prompt: 'Why is the sky blue?', });
console.log(result.text);}
main().catch(console.error);Top-level parameters
The same GPT OSS 20B request in each API format AI Gateway supports.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'openai/gpt-oss-20b', system: 'You are a concise technical assistant.', prompt: 'Summarize the tradeoffs between static generation and SSR.', maxOutputTokens: 1024, });
console.log(result.text);}
main().catch(console.error);Standard parameters like prompt, messages, temperature, and tools work as documented in the AI SDK docs. These are the parameters with model-specific behavior.
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Model ID in the form creator/model, e.g. openai/gpt-oss-20b. AI Gateway routes the request to an available provider. |
maxOutputTokens | number | No | Hard cap on generated tokens. GPT OSS 20B supports up to 32,768 output tokens. Reasoning tokens count toward this limit. |
reasoning | 'provider-default' | 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | No | Provider-agnostic reasoning effort, available in AI SDK 7 or later. Maps to the provider’s native reasoning configuration; reasoning settings under providerOptions take precedence when both are set. See the Reasoning section below. |
providerOptions | Record<string, JSONValue> | No | AI Gateway routing options under gateway, plus any provider-native options under the provider’s own namespace — see the table below. |
Input limits
| Input | Formats | Sources | Max count | Max size | Limits |
|---|---|---|---|---|---|
| Text | — | — | — | — | Prompt and response share the 131K-token context window |
Provider options
Set AI Gateway routing options under providerOptions.gateway. For provider-specific options, pass them under the provider’s namespace as documented by the AI SDK.
Learn more in the AI SDK openai provider docs.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'openai/gpt-oss-20b', prompt: 'Why is the sky blue?', providerOptions: { gateway: { only: ['bedrock', 'groq'], }, }, });
console.log(result.text);}
main().catch(console.error);These AI Gateway routing options apply to every model. Provider-specific options pass through under the provider’s own namespace (for example providerOptions.anthropic) exactly as documented by the AI SDK.
| Parameter | Type | Required | Description |
|---|---|---|---|
providerOptions.gateway.only | string[] | No | Restrict routing to these provider slugs. Requests fail over only within the listed providers. |
providerOptions.gateway.order | string[] | No | Preferred provider order. Listed providers are tried first; unlisted providers remain available as fallbacks. |
providerOptions.gateway.sort | 'cost' | 'ttft' | 'tps' | No | Rank candidate providers by price, time to first token, or tokens per second instead of the default routing order. |
providerOptions.gateway.zeroDataRetention | boolean | No | Route only to providers with a zero-data-retention policy for this model. |
Routing across providers
AI Gateway serves the same model through multiple providers and fails over automatically. order expresses a preference while keeping every provider eligible; only is a hard allowlist — if none of the listed providers are available the request fails instead of falling back.
Options under a provider's own namespace (for example providerOptions.anthropic) are forwarded to that provider with the request. Providers ignore option namespaces that don't apply to them, so it is safe to set provider options alongside gateway routing options.
Reasoning
AI Gateway bridges reasoning across every API format. The AI SDK exposes a provider-agnostic top-level reasoning level (none, minimal, low, medium, high, or xhigh); the Chat Completions and Responses formats take the same effort under reasoning.effort; and the Anthropic Messages format uses a native thinking token budget. Whichever you send, the gateway maps it to the target model’s native configuration, converting between effort levels and token budgets as needed. Reasoning-related settings under providerOptions take full precedence over the top-level reasoning value and are never merged. Reasoning tokens typically count toward your output-token usage, though how they’re reported and billed varies by provider.
Learn more in the AI Gateway reasoning guide.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'openai/gpt-oss-20b', prompt: 'Explain the Monty Hall problem step by step.', reasoning: 'high', });
console.log(result.text);}
main().catch(console.error);Tool calling
Expose tools the model can call. Define each tool’s inputs with a Zod schema.
import { generateText, tool } from 'ai';import { z } from 'zod';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'openai/gpt-oss-20b', prompt: 'What is the weather in San Francisco?', tools: { getWeather: tool({ description: 'Get the current weather for a location', inputSchema: z.object({ location: z.string() }), execute: async ({ location }) => ({ location, temperatureC: 18 }), }), }, });
console.log(result.text);}
main().catch(console.error);Copy link to headingAbout GPT OSS 20B
GPT OSS 20B was released by OpenAI on August 5, 2025 under the Apache 2.0 license, alongside the larger gpt-oss-120b. Both are mixture-of-experts transformers using alternating dense and locally banded sparse attention, grouped multi-query attention, and rotary positional embeddings with native support for 131.1K tokens of context.
The 20B label refers to total parameter count — about 21 billion. Only roughly 3.6 billion parameters activate per token, which is what determines inference cost. OpenAI reports GPT OSS 20B matches or exceeds o3-mini on common evaluations and outperforms it on competition math (AIME) and HealthBench, while running on a single device with 16 GB of memory.
GPT OSS 20B supports adjustable reasoning levels (low, mid, high), native function calling, and structured outputs. OpenAI positions it as the recommended starting point for most workloads, with gpt-oss-120b available to escalate to on the hardest reasoning steps.
Through AI Gateway, you reach GPT OSS 20B with a single API key, route to Bedrock, Groq, DeepInfra, Together AI, Novita AI, Parasail as needed, and read live throughput and latency from this page. No GPU provisioning, no separate provider account.
Copy link to headingWhat To Consider When Choosing a Provider
- Configuration: GPT OSS 20B is a mixture-of-experts model — roughly 21 billion total parameters with about 3.6 billion active per token. That makes it inexpensive to serve and a sensible default for most workloads. AI Gateway routes requests to it as a managed API, so you can use it without standing up your own inference stack.
- Zero Data Retention: Zero Data Retention is available for this model. It is offered on a per-provider and model basis. See the documentation for details.
- Authentication: AI Gateway authenticates requests using an API key or OIDC token. You do not need to manage provider credentials directly.
Copy link to headingWhen to Use GPT OSS 20B
Best for
- Agentic and tool-using flows: Native function calling and adjustable reasoning levels suit multi-step agents
- High-volume general workloads: Roughly o3-mini-level quality at low active-parameter cost
- Open-weight requirements: Apache 2.0 license permits inspection, deployment, and redistribution
- Long-context tasks: 131.1K tokens of context for document-heavy or transcript-heavy work
Consider alternatives when
- Hardest reasoning tasks:
gpt-oss-120bactivates more parameters per token and approaches o4-mini on core benchmarks - Frontier closed-source quality: GPT-5 and GPT-5.1 for the strongest proprietary capability
- Coding-specific work: Codex models are tuned for software engineering workflows
- Vision or multimodal inputs: GPT OSS 20B is text-only; use GPT-4o or GPT-5 family models for images
Copy link to headingConclusion
GPT OSS 20B is the smaller of the two open-weight OpenAI releases, but it is not a strictly weaker option — its low active-parameter cost, agentic features, and o3-mini-level benchmark numbers make it a reasonable default for most workloads. Use it through AI Gateway when you want open weights without managing infrastructure.
Copy link to headingFrequently Asked Questions
How does GPT OSS 20B compare to
gpt-oss-120b?Both share the same MoE architecture, 131.1K tokens context, and Apache 2.0 license. GPT OSS 20B activates fewer parameters per token (about 3.6 billion versus 5.1 billion), runs on a 16 GB device, and matches o3-mini on common benchmarks.
gpt-oss-120bapproaches o4-mini on harder reasoning tasks but costs more to serve.What hardware is GPT OSS 20B designed for?
OpenAI designed it to run on a single device with 16 GB of memory, including consumer-grade hardware. Weights ship natively quantized in MXFP4. When used through AI Gateway you don't manage hardware — requests route to Bedrock, Groq, DeepInfra, Together AI, Novita AI, Parasail.
Does GPT OSS 20B support tool calling and structured outputs?
Yes. GPT OSS 20B supports native function calling, structured outputs, and long chain-of-thought reasoning. You can also select a reasoning level (low, mid, or high) per request, similar to the o-series.
What license is GPT OSS 20B released under?
Apache 2.0. You can inspect, deploy, fine-tune, and redistribute the weights without OpenAI licensing restrictions. Fine-tuning happens outside AI Gateway since AI Gateway serves models as a managed API.
What context window does GPT OSS 20B support?
131.1K tokens, sufficient for long documents, multi-turn agentic sessions, and transcript-heavy workloads.
Can I call GPT OSS 20B through the AI SDK?
Yes. GPT OSS 20B is available through AI Gateway via the AI SDK as well as Chat Completions, Responses, and Messages-compatible API formats. Use
openai/gpt-oss-20bas the model identifier.Is Zero Data Retention available for GPT OSS 20B?
Yes, Zero Data Retention is available for this model. Zero Data Retention is offered on a per-provider basis. See https://vercel.com/docs/ai-gateway/capabilities/zdr for details.