# GPT-5.4 Mini — API pricing & integration guide | Y-API

> GPT-5.4 Mini is the smaller, faster member of the 5.4 generation, listed with a 400,000-token window and file, image and text input. The reference targets high-throughput workloads that need the 5.4 behaviour at lower cost.

This is the markdown representation of https://y-api.bestvirtualgoods.com/models/openai/gpt-5.4-mini. Generated by `scripts/generate-seo-assets.mjs` from the same copy the page renders — do not edit by hand.

Model ID: `openai/gpt-5.4-mini`

Sources reviewed: 2026-10-21. Y-API catalog snapshot: 2026-10-21.

## Choosing this model

Selection advice by Y-API. The checks below are suggested evaluations, not published test results.

### Where to start

Start with the high-volume, low-ambiguity slice of a pipeline: field extraction, ticket triage, commit-message drafting, or a first pass that a larger model only reviews.

### What to watch for

The window is less than half of the full 5.4 entry, which matters for whole-repository prompts. Mini tiers also tend to degrade earlier on long multi-step instructions — measure that before moving a workflow wholesale.

## Model specifications

These are OpenRouter model-level specifications, not a Y-API compatibility test. A particular route may accept fewer input formats, parameters or tokens. Verify the features you need with a small request; a successful text response does not validate vision or tool calling.

| Field | Value |
| --- | --- |
| Context window | 400,000 tokens |
| Input | File, Image, Text |
| Output | Text |
| Listed on OpenRouter | 2026-03-17 |
| Parameters listed by OpenRouter | `include_reasoning`, `max_completion_tokens`, `max_tokens`, `reasoning`, `reasoning_effort`, `response_format`, `seed`, `structured_outputs`, `tool_choice`, `tools`, `verbosity` |

## API pricing & cost estimate

| Price basis | Input / 1M tokens | Output / 1M tokens |
| --- | --- | --- |
| Account credit | $0.80 | $4.50 |
| Cash equivalent | $0.08 | $0.45 |

$1 paid adds $10 of credit. Cash equivalent = credit consumed ÷ 10; this is not the model publisher’s list price.

Input tokens / request: 1000. Output tokens / request: 500. Number of requests: 1000.

Estimated credit consumed: $3.05. Estimated cash equivalent: $0.305.

Illustrative token budget, not measured usage or a quote. Includes input and output; excludes separate media charges, cache discounts and retries. Include billed reasoning tokens in your output budget where applicable. Actual billing follows usage returned by the service.

### Same token budget, different models

| Model | Estimated credit consumed | Estimated cash equivalent |
| --- | --- | --- |
| [GPT-5.4 Mini](https://y-api.bestvirtualgoods.com/models/openai/gpt-5.4-mini) | $3.05 | $0.305 |
| [GPT-5.4](https://y-api.bestvirtualgoods.com/models/openai/gpt-5.4) | $10.00 | $1.00 |
| [GPT-5.6 Luna](https://y-api.bestvirtualgoods.com/models/openai/gpt-5.6-luna) | $0.95 | $0.095 |

[View LLM API pricing & billing](https://y-api.bestvirtualgoods.com/pricing)

## API integration examples

These minimal, text-only requests use the exact Y-API model ID. They do not demonstrate image, audio, video, file or tool support. The output limit also needs room for reasoning; an empty answer with finish_reason=length can mean the budget was exhausted.

Set the TOKEN environment variable to a key from your console. Run this on your server or locally; never expose a key in browser code or a public repository.

### A task to try

Classify each of these support messages into billing, access or bug, and give the one phrase that decided it. Return null when the message does not fit any of the three.

```bash
curl --fail-with-body --silent --show-error --max-time 120 \
  'https://api.y-api.bestvirtualgoods.com/v1/chat/completions' \
  -H "Authorization: Bearer ${TOKEN:?Set TOKEN first}" \
  -H 'Content-Type: application/json' \
  --data-binary @- <<'JSON'
{
  "model": "openai/gpt-5.4-mini",
  "messages": [
    {
      "role": "user",
      "content": "Classify each of these support messages into billing, access or bug, and give the one phrase that decided it. Return null when the message does not fit any of the three."
    }
  ],
  "max_tokens": 4096
}
JSON
```

```python
import json
import os
import sys
import urllib.error
import urllib.request

payload = {
  "model": "openai/gpt-5.4-mini",
  "messages": [
    {
      "role": "user",
      "content": "Classify each of these support messages into billing, access or bug, and give the one phrase that decided it. Return null when the message does not fit any of the three."
    }
  ],
  "max_tokens": 4096
}

request = urllib.request.Request(
    "https://api.y-api.bestvirtualgoods.com/v1/chat/completions",
    data=json.dumps(payload).encode("utf-8"),
    headers={
        "Authorization": "Bearer " + os.environ["TOKEN"],
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
    print(json.dumps(result, ensure_ascii=False, indent=2))
except urllib.error.HTTPError as error:
    print(error.read().decode("utf-8"), file=sys.stderr)
    raise SystemExit(1)
```

### How to evaluate the result

Measure accuracy on a labelled sample and count the null returns separately. A model that never returns null is guessing on the ambiguous cases, and that failure is invisible in an accuracy number alone.

## Before you choose

### When should this be escalated to full GPT-5.4?

Set the trigger from your own results: repeated disagreement between two runs, an input near the window limit, or a task that needs several dependent steps. Do not escalate on token count alone.

## Sources & scope

Technical facts come from the cited model page and, where available, its linked publisher card. A card describes that checkpoint; it is not proof of the weights a gateway serves. Prices come only from the Y-API catalog. We do not claim measured latency, uptime or benchmark scores for this endpoint.

- [OpenRouter model page & specifications](https://openrouter.ai/openai/gpt-5.4-mini)
- [Y-API catalog & prices (JSON)](https://y-api.bestvirtualgoods.com/models.json)

## Models to compare

Compare these alternatives on the same inputs. Their descriptions explain different roles; a lower price does not establish equivalent quality.

### [GPT-5.4](https://y-api.bestvirtualgoods.com/models/openai/gpt-5.4)

GPT-5.4 is listed as the entry that merged OpenAI’s Codex and GPT lines, with a 1,050,000-token window and text, image and file input. The reference describes a 922K input / 128K output split inside that window.

### [GPT-5.6 Luna](https://y-api.bestvirtualgoods.com/models/openai/gpt-5.6-luna)

GPT-5.6 Luna is the GPT-5.6 entry aimed at high-volume, latency-sensitive chat, classification and lightweight agent tasks. It is a separate cost-efficiency candidate, not a claim of Sol-equivalent reasoning at a lower price.

## Links

- HTML version of this page: https://y-api.bestvirtualgoods.com/models/openai/gpt-5.4-mini
- Site index for agents: https://y-api.bestvirtualgoods.com/llms.txt
- Full reference (single file): https://y-api.bestvirtualgoods.com/llms-full.txt
- OpenAPI 3.1 spec: https://y-api.bestvirtualgoods.com/openapi.json
- Model catalog (JSON, no key needed): https://y-api.bestvirtualgoods.com/models.json
- API base URL: `https://api.y-api.bestvirtualgoods.com/v1`
- Contact: support@bestvirtualgoods.com
- Model catalog: https://y-api.bestvirtualgoods.com/models
- Integration guide: https://y-api.bestvirtualgoods.com/docs
