Back to Models
openai logoOpenAI
gpt-5-mini

GPT-5 Mini

GPT-5 Mini is a compact version of GPT-5, designed to handle lighter-weight reasoning tasks. It provides the same instruction-following and safety-tuning benefits as GPT-5, but with reduced latency and cost. GPT-5 Mini is the successor to OpenAI's o4-mini model.

8/7/2025
400,000 tokens
Input: $0.2638/M
Output: $2.11/M

Specifications

Modalities

Input
text
image
file
Output
text

Supported Parameters

include_reasoning
max_tokens
reasoning
response_format
seed
structured_outputs
tool_choice
tools

Max Output Tokens

128,000

Reasoning Configuration

Default
Thinking on (effort: medium)
Selectable effort levels
high
medium
low
minimal
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)1.4s

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

    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-5-mini",
        "messages": [{"role": "user", "content": "Hello!"}]
      }'

    How GPT-5 Mini 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.

    We examine the word "strawberry" letter by letter: 1. s — not an r (count = 0) 2. t — not an r (count = 0) 3. r — an r (count = 1) 4. a — not an r (count = 1) 5. w — not an r (count = 1) 6. b — not an r (count = 1) 7. e — not an r (count = 1) 8. r — an r (count = 2) 9. r — an r (count = 3) 10. y — not an r (count = 3) Total number of 'r's = 3.
    5.2s response382 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…

    That error means users is undefined when you call users.map(...). map is an Array method, so calling it on undefined throws "Cannot read properties of undefined (reading 'map')". Common causes - The parent component didn't pass a users prop. - users is still loading (e.g. fetched asynchronously) and is null/undefined until the fetch completes. - The parent initialized users to null instead of an empty array. How to fix Choose one or more of these approaches depending on your app: 1) Initialize the parent state as an array If users is state in the parent, initialize it to [] so the child always receives an array: const [users, setUsers] = useState([]); // fetch and setUsers(data) 2) Give…
    8.0s response966 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):…

    Thanks — this is a nice simple function, but it can be improved in several ways: move imports to module scope, avoid broad except:, use connection pooling (Session) for performance, use specific exception types, add logging and docstring, avoid comparing to True, use list comprehensions, validate JSON shape, and implement backoff (or use urllib3 Retry). Below are two improved alternatives and a short rationale for the changes. 1) A simple, clear improvement (small changes, explicit errors, backoff + jitter) - Moves imports to top-level - Uses requests.Session for connection pooling - Catches specific exceptions (requests.RequestException, ValueError) - Uses list comprehension and item.get(…
    13.6s response1702 output tokens

    Compare these answers side by side with other models →

    Frequently asked questions

    How much does the GPT-5 Mini API cost?
    On FastMetal, GPT-5 Mini is billed per token: $0.2638 per 1M input tokens and $2.11 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-5 Mini with the OpenAI SDK?
    Yes. Point base_url at https://api.fastmetal.ai/v1 and pass "gpt-5-mini" as the model; existing OpenAI-style code works unchanged, including streaming, tool calls and structured output.
    What is the context window of GPT-5 Mini?
    400,000 tokens, shared between the prompt and the response.
    What do I need to try GPT-5 Mini?
    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-5 Mini right now

    GPT-5 Mini is available on FastMetal through one API key. Start in the browser, or call it from the OpenAI SDK.