Back to Models
openai logoOpenAI
gpt-oss-120b

gpt-oss-120b

gpt-oss-120b is an open-weight, 117B-parameter Mixture-of-Experts (MoE) language model from OpenAI designed for high-reasoning, agentic, and general-purpose production use cases. It activates 5.1B parameters per forward pass and is optimized to run on a single H100 GPU with native MXFP4 quantization. The model supports configurable reasoning depth, full chain-of-thought access, and native tool use, including function calling, browsing, and structured output generation.

8/5/2025
131,072 tokens
#155 Text (Japanese)
Input: $0.102/M
Output: $0.5035/M

Specifications

Modalities

Input
text
Output
text

Supported Parameters

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

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)1.1s
Throughput (p50)327 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 26 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-120b",
        "messages": [{"role": "user", "content": "Hello!"}]
      }'

    How gpt-oss-120b 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.

    **Step‑by‑step count of the letter “r” in the word “strawberry”** 1. Write out the word with each letter in order, labeling its position: | Position | Letter | |----------|--------| | 1 | s | | 2 | t | | 3 | **r** | | 4 | a | | 5 | w | | 6 | b | | 7 | e | | 8 | **r** | | 9 | **r** | |10 | y | 2. Scan the list and mark every occurrence of the letter **r**. - Position 3 → r (first occurrence) - Position 8 → r (second occurrence) - Position 9 → r (third occurrence) 3. Count the marked entries: there are **3** marked positions. **Result:** The word “strawberry” contains **3** occurrences of the letter **r**…
    1.7s response332 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 the `map` can’t be called `Array.prototype.map` is a method that exists only on **arrays** (or array‑like objects). When you see ``` TypeError: Cannot read properties of undefined (reading 'map') at UserList (...) ``` it means that the variable you think is an array – `users` in this case – is actually **`undefined`** (or `null`). React is trying to evaluate this line: ```jsx {users.map(user => <li key={user.id}>{user.name}</li>)} ``` and it crashes because you can’t read `.map` from `undefined`. --- ## Common reasons `users` ends up undefined | Reason | Typical scenario | How it shows up | |--------|------------------|-----------------| | **Prop not passed** | `<Use…
    7.3s response1610 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 **step‑by‑step review** of the original `get_data` implementation followed by a **refactored version** that addresses readability, performance, and modern Python best‑practice concerns. --- ## 1. What the original function does ```python def get_data(url, retries=3): import requests import time for i in range(retries): try: r = requests.get(url, timeout=10) if r.status_code == 200: data = r.json() result = [] for item in data: if item["active"] == True: result.append({"name": item["name"], "id": item["id"]}) return result…
    14.4s response3132 output tokens

    Compare these answers side by side with other models →

    Frequently asked questions

    How much does the gpt-oss-120b API cost?
    On FastMetal, gpt-oss-120b is billed per token: $0.102 per 1M input tokens and $0.5035 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-120b with the OpenAI SDK?
    Yes. Point base_url at https://api.fastmetal.ai/v1 and pass "gpt-oss-120b" as the model; existing OpenAI-style code works unchanged, including streaming, tool calls and structured output.
    What is the context window of gpt-oss-120b?
    131,072 tokens, shared between the prompt and the response.
    How does gpt-oss-120b rank?
    #155 on the public arena's Japanese board (ELO 1,325). Ranks move as the leaderboard is updated.
    What do I need to try gpt-oss-120b?
    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-120b right now

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

    Leaderboard

    Text
    spanishELO: 1,369
    #191
    russianELO: 1,337
    #219
    CodingELO: 1,389
    #225
    MathELO: 1,381
    #190
    Creative WritingELO: 1,279
    #268
    Instruction FollowingELO: 1,324
    #235
    Hard PromptsELO: 1,362
    #225
    Multi-TurnELO: 1,327
    #241
    OverallELO: 1,352
    #218
    JapaneseELO: 1,325
    #155
    ChineseELO: 1,377
    #215
    KoreanELO: 1,267
    #210
    EnglishELO: 1,361
    #231
    frenchELO: 1,355
    #208
    germanELO: 1,328
    #195

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