halfoff.dev
Get a key
Guide

GPT API pricing:
what every model costs

Per-million-token prices for every GPT model, how cached input and reasoning tokens are billed, and a worked example to size your own bill.

Prepaid, no subscriptionREST or MCPOne key for models, data and agents

GPT API pricing has fewer moving parts than Claude's, and two details that catch people out: reasoning tokens are billed as output even though you never see them, and cached input is detected automatically, so you can't tell from the code whether you are getting the discount. This page lists what each GPT model costs at Half Off Dev, explains how a GPT response is billed, and shows how to read your own usage so the bill never surprises you.

01

Every GPT model and its price

The table is live. It shows the per-million-token prices the API charges, which at Half Off Dev are half of OpenAI's list price.

ModelContextInputOutputCache read
GPT-6 Astra
gpt-6-astra
1.05M$5.00$25.00$0.50
GPT-6.1 Sol
gpt-6.1-sol
1.05M$1.00$5.00$0.05
GPT-6 Sol
gpt-6-sol
1.05M$1.00$5.00$0.10
GPT-5.6 Sol
gpt-5.6-sol
400K$1.00$5.00$0.10
GPT-5.6 Terra
gpt-5.6-terra
400K$1.00$6.00$0.10
GPT-5.6 Luna
gpt-5.6-luna
400K$0.10$0.60$0.01

USD per 1M tokens, live from the catalog.

Each row opens that model's page. GET https://halfoff.dev/v1/models returns the same list as JSON, with no key needed.

02

How a GPT response is billed

A GPT response reports its usage in the shape of OpenAI's API. Three counts decide the price:

Billed partWhere it appears in usagePrice used
Uncached inputprompt_tokens minus prompt_tokens_details.cached_tokensInput price
Cached inputprompt_tokens_details.cached_tokensCache-read price, a fraction of input
Outputcompletion_tokens, reasoning includedOutput price

GPT models have no cache-write charge. Caching is automatic: when a request starts with the same long prefix as a recent one, the repeated part is read from the cache and billed at the lower price. Put the stable content (instructions, tools, reference documents) first and the part that changes last, and send a prompt_cache_key that stays the same for one user or conversation to raise the hit rate.

03

Reasoning tokens are output tokens

{}

Reasoning models think before they answer, and the thinking is billed at the output price. With the Chat Completions API they show up in usage.completion_tokens_details.reasoning_tokens, which is already counted inside completion_tokens. A short answer to a hard question can therefore cost more than a long answer to an easy one.

You control it with reasoning_effort. Lower effort buys fewer reasoning tokens. Try the lowest setting that still passes your own test cases before you move to a bigger model, because it is the cheaper change.

04

Worked example: a support chatbot

Say each reply sends 1,500 input tokens (instructions, retrieved snippets, the question), of which 1,000 are the same instructions as the last request, and writes 400 output tokens. Ten thousand replies a month come to:

  • 5 million uncached input tokens (500 × 10,000)
  • 10 million cached input tokens (1,000 × 10,000)
  • 4 million output tokens (400 × 10,000)

Multiply each by the price per million from the table: 5 × input price + 10 × cache-read price + 4 × output price. The LLM API cost calculator does the arithmetic for every GPT model side by side. With output at several times the input price, the 4 million output tokens are usually the biggest line, and the cached 10 million the smallest.

05

Chat Completions or Responses

Half Off Dev serves both OpenAI formats, and both bill the same way:

  • Chat Completions (/v1/chat/completions) is what most SDKs and tools speak. Base URL https://halfoff.dev/v1.
  • Responses (/v1/responses) is what Codex CLI uses, and it is GPT-only here.

See OpenAI API for streaming, function calling and the reasoning settings, and Codex CLI to run it on an API key.

06

Frequently asked questions

?
How much does the GPT API cost?+

It depends on the model and the tokens you send and receive, not on a plan. The table above gives the price per million tokens for each model. A support bot or a summarizer can run on small models for cents per thousand requests; a reasoning model on long inputs costs far more.

Why is my GPT API bill higher than expected?+

Almost always reasoning tokens. They count as output, they're not in the visible answer, and output costs several times input. Read completion_tokens_details.reasoning_tokens in the usage, then try a lower reasoning_effort.

Does OpenAI charge for prompt caching?+

There is no cache-write fee for GPT models. You only pay the lower cache-read price on the part of the prompt that was already cached. Prompt caching explains how Half Off Dev keeps a conversation on the channel that holds its cache.

Is the GPT API cheaper here than at OpenAI?+

Every GPT model is billed at 50% of OpenAI's list price, for input, output and cached input alike. Your SDK keeps working: change the base URL and the key.

Can I use my existing OpenAI code?+

Yes. Set base_url to https://halfoff.dev/v1 and use a key from your dashboard. The OpenAI SDK guide has the two lines and the limits of the shortcut.

To compare vendors, read Claude API pricing and Gemini API pricing. When you're ready, create an account and send your first request from the quickstart.

One prepaid key for models, data and agents

No subscription. Top up, use what you need, see every charge in your logs.