Back to Models
openai logoOpenAI
gpt-oss-20b

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, optimized for lower-latency inference and deployability on consumer or single-GPU hardware. The model is trained in OpenAI’s Harmony response format and supports reasoning level configuration, fine-tuning, and agentic capabilities including function calling, tool use, and structured outputs.

8/5/2025
131,072 tokens
#195 Text (Japanese)
Input: $0.0317/M
Output: $0.1477/M

Specifications

Modalities

Input
text
Output
text

Supported Parameters

frequency_penalty
include_reasoning
logit_bias
max_tokens
min_p
presence_penalty
reasoning
reasoning_effort
repetition_penalty
response_format
seed
stop
structured_outputs
temperature
tool_choice
tools
top_k
top_p

Reasoning Configuration

Default
Thinking on (effort: medium)
Selectable effort levels
high
medium
low
Turning thinking off
Not possible (always thinks)

How to control thinking, and what it costs

Data policy

Prompt retention
Unknown — we could not confirm
Training
Not used for training

"Unknown" does not mean "safe". It means we could not confirm it.

Whether a provider trains on prompts is a declared value from our terms with them. Retention is determined from the upstream listing for every host this model can reach. Neither is guessed.

Measured performance

Time to first response (p50)408ms
Throughput (p50)114 tokens/s

    Measured through FastMetal's own gateway over the last 30 days (661 first-response samples).

    Throughput is sampled once a day: the median of 21 observations over the last 30 days.

    Time to first response is measured to the first streamed chunk; throughput counts all output tokens, including reasoning tokens. These are observations, not a performance guarantee.

    Code Examples

    curl https://api.fastmetal.ai/v1/chat/completions \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -d '{
        "model": "gpt-oss-20b",
        "messages": [{"role": "user", "content": "Hello!"}]
      }'

    How gpt-oss-20b actually answers

    Real responses to our standard prompts, recorded on FastMetal.

    Count the number of 'r's in 'strawberry'

    Count the number of 'r's in 'strawberry'. Explain your reasoning step by step.

    **Count of ‘r’ in “strawberry”: 3** --- ### Step‑by‑step reasoning 1. **Write out the word in individual letters** ``` s t r a w b e r r y ``` 2. **Identify each ‘r’** - The first ‘r’: appears after the “t” → **r** - The second ‘r’: appears in the part “berry” → **r** - The third ‘r’: the next letter after that → **r** 3. **Verify there are no more letters left** The remaining letters are “b”, “e”, “y”, none of which are “r”. 4. **Count the identified ‘r’s** 1 (first) + 1 (second) + 1 (third) = **3** --- ### Quick recap - Word: **strawberry** - Letters containing “r”: positions 3, 8, and 9. - Total count: **3**.
    11.6s response371 output tokens

    Debug This Error

    I'm getting the following error in my Node.js application: TypeError: Cannot read properties of undefined (reading 'map') at UserList (/app/components/UserList.js:12:25) at renderWithHooks (/app/node_modules/rea…

    ### Why does the error happen? `users.map(...)` can only run when **`users` is an array**. The stack trace shows that the crash happens on line 12 of `UserList.js`, which is the exact spot where the code tries to call `.map`. The value that is being passed to `UserList` (or the initial value that the parent creates) is **`undefined`** (or it could be `null`/`{}`). When JavaScript tries to read `users.map`, it throws: ``` TypeError: Cannot read properties of undefined (reading 'map') ``` Typical reasons for this are: 1. The parent component **didn’t pass the `users` prop** at all. 2. The parent passed it but the value was **`undefined` / `null`** because data hasn’t been loaded ye…
    11.4s response1303 output tokens

    Code Review

    Please review the following Python function and suggest improvements for readability, performance, and best practices: def get_data(url, retries=3): import requests import time for i in range(retries):…

    Below is a quick “code‑review” style list that touches the three axes you asked for – **readability**, **performance**, and **best practices**. After the bullet‑list I’ll paste a refactored version that incorporates the most common fixes. --- ## 1. Readability | Issue | Why it hurts | Quick fix | |-------|--------------|-----------| | **Imports inside the function** | Every call recompiles the import tables and makes the module’s top‑level slower. | Move `import requests` and `import time` to the module’s global header. | | **Bare `except:`** | Catches *everything* (KeyboardInterrupt, SystemExit, MemoryError, etc.) and swallows useful tracebacks. | Catch only the expected network-relate…
    24.6s response2267 output tokens

    Compare these answers side by side with other models →

    Frequently asked questions

    How much does the gpt-oss-20b API cost?
    On FastMetal, gpt-oss-20b is billed per token: $0.0317 per 1M input tokens and $0.1477 per 1M output tokens on a US-dollar account, before tax. Usage is drawn from a prepaid balance; there is no subscription or monthly fee.
    Can I call gpt-oss-20b with the OpenAI SDK?
    Yes. Point base_url at https://api.fastmetal.ai/v1 and pass "gpt-oss-20b" as the model; existing OpenAI-style code works unchanged, including streaming, tool calls and structured output.
    What is the context window of gpt-oss-20b?
    131,072 tokens, shared between the prompt and the response.
    How does gpt-oss-20b rank?
    #195 on the public arena's Japanese board (ELO 1,256). Ranks move as the leaderboard is updated.
    What do I need to try gpt-oss-20b?
    Create an account and add credit; the model is then available both in the browser chat and over the API. There is no contract or minimum spend.

    Try gpt-oss-20b right now

    gpt-oss-20b is available on FastMetal through one API key. Start in the browser, or call it from the OpenAI SDK.

    Leaderboard

    Text
    spanishELO: 1,303
    #243
    russianELO: 1,310
    #250
    CodingELO: 1,368
    #251
    MathELO: 1,335
    #228
    Creative WritingELO: 1,240
    #306
    Instruction FollowingELO: 1,281
    #289
    Hard PromptsELO: 1,323
    #268
    Multi-TurnELO: 1,289
    #284
    OverallELO: 1,317
    #269
    JapaneseELO: 1,256
    #195
    ChineseELO: 1,352
    #239
    KoreanELO: 1,276
    #199
    EnglishELO: 1,331
    #267
    germanELO: 1,274
    #241

    Rankings: LMArena leaderboard dataset (lmarena-ai/leaderboard-dataset), CC BY 4.0, snapshot 2026-10-22; category names mapped and ratings rounded by FastMetal.