Back to Models
openai logoOpenAI
gpt-5.4-nano

GPT-5.4 Nano

GPT-5.4 nano is the most lightweight and cost-efficient variant of the GPT-5.4 family, optimized for speed-critical and high-volume tasks. It supports text and image inputs and is designed for low-latency use cases such as classification, data extraction, ranking, and sub-agent execution. The model prioritizes responsiveness and efficiency over deep reasoning, making it ideal for pipelines that require fast, reliable outputs at scale. GPT-5.4 nano is well suited for background tasks, real-time systems, and distributed agent architectures where minimizing cost and latency is essential.

3/17/2026
400,000 tokens
Input: $0.211/M
Output: $1.32/M

Specifications

Modalities

Input
file
image
text
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 off
Selectable effort levels
xhigh
high
medium
low
none
Turning thinking off
Possible (reasoning.enabled: false)

How to control thinking, and what it costs

Data policy

Prompt retention
Unknown — we could not confirm
Training
Unknown — not declared

"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.6s
Throughput (p50)122 tokens/s

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

    Throughput is sampled once a day: the median of 27 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-5.4-nano",
        "messages": [{"role": "user", "content": "Hello!"}]
      }'

    How GPT-5.4 Nano 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 1:** Write the word: **strawberry** **Step 2:** Count each letter **r** in the word: - s **t r** a w b e **r r** y There are **3** **r**’s in total (**one** after the **t**, and **two** near the end). ✅ **Answer: 3**
    1.5s response86 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…

    This error means that **`users` is `undefined` (or otherwise not an array)** when your component renders, so calling `users.map(...)` throws: ```js users.map(...) ^^^^ reading 'map' of undefined ``` ### Why it happens Common causes: - You render `<UserList />` before data has loaded (e.g., `users` comes from an async fetch). - The parent component passes the wrong prop name (e.g., `user` instead of `users`). - The API/parent state initializes `users` as `undefined` rather than `[]`. - You’re destructuring a prop incorrectly upstream. ### Fix options #### 1) Ensure `users` is always an array (recommended) Initialize/default it in the component: ```js function UserList({ users = []…
    3.3s response383 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):…

    Here are key improvements (readability, performance, robustness, best practices) and a revised version of your function. ## What to improve 1. **Avoid bare `except:`** Catch specific exceptions from `requests` (e.g., `requests.exceptions.RequestException`) to avoid hiding bugs. 2. **Prefer `raise_for_status()` or check status codes clearly** `r.raise_for_status()` is a common pattern. 3. **Use exponential backoff (or at least a clear retry delay)** Instead of sleeping the same amount every time, consider increasing delay. 4. **Reuse a `requests.Session()` (optional but best practice)** If this function is called repeatedly, passing a session or creating one outside i…
    4.4s response718 output tokens

    Compare these answers side by side with other models →

    Frequently asked questions

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

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