Home / Guides / How much does the ChatGPT API cost per message?

How much does the ChatGPT API cost per message?

One chatbot answer on the OpenAI API costs a fraction of a cent, or a few cents with the top model. Measured numbers inside.

By Piotr Olszewski · Oct 11, 2026 · prices as of Oct 18, 2026

The ChatGPT API costs a fraction of a cent per message on the smaller OpenAI models. In my measurements, GPT-6 Luna answers a chat question for 0.06¢ per task, or $0.59 per 1,000. GPT-6 Astra costs 3.4¢ for the same task, or $33.60 per 1,000.

What a "message" means here

The API bills per token, not per message. So I run a fixed task and record the tokens used. This article covers three tasks:

  • Chat answer: a single question answered in one reply.
  • Email reply: answering a customer email.
  • RAG answer: answering a question from five retrieved documents, which means a much longer input.

Reasoning tokens are billed as output tokens, so a model that thinks before it replies pays for that thinking. Costs below are per task, with the per 1,000 figure alongside. See the methodology for how the runs were set up.

OpenAI list prices

Prices per 1M tokens (input / output / cached input):

ModelInputOutputCached inputReasoning
GPT-6 Luna$0.10$0.50$0.01default
GPT-5.4 Nano$0.20$1.25$0.02default
GPT-5.4 Mini$0.75$4.50$0.075default
GPT-6.1 Sol$2.00$10.00$0.10always
GPT-6 Astra$10.00$50.00$1.00always

Price per token is only part of the story. What matters is how many tokens a task uses, and reasoning models can use many more output tokens than they show.

Cost per chat answer

ModelPer chat answerPer 1,000Basis
GPT-6 Luna0.06¢$0.59measured
GPT-5.4 Nano0.15¢$1.48estimated
GPT-5.4 Mini0.53¢$5.34estimated
GPT-6.1 Sol0.67¢$6.72measured
GPT-6 Astra3.4¢$33.60estimated

The median across all 326 models is 0.24¢ per chat answer. Luna is well under it, and Astra is well over it.

Luna's run used 45 input, 540 output and 639 reasoning tokens. Sol used 45 input, 560 output and 103 reasoning tokens. Astra's estimate assumes the same 45 / 560 / 103 profile as Sol, so its higher cost comes from its $10.00 input and $50.00 output list prices.

Other labs on the same chat task:

  • Claude Haiku 5.5: 0.07¢ ($0.66 per 1,000), measured
  • Claude Sonnet 5.5: 1.3¢ ($12.68 per 1,000), measured
  • Claude Opus 5.5: 2.5¢ ($25.36 per 1,000), estimated
  • Claude Fable 5.1: 6.3¢ ($63.41 per 1,000), estimated

Anthropic's tokenizer produces 1.39 times as many tokens as OpenAI's for the same English document, which affects how list prices translate into per-task cost.

Cost per email reply

ModelPer email replyPer 1,000Basis
GPT-6 Lunaunder 0.01¢$0.07measured
GPT-5.4 Nano0.02¢$0.17estimated
GPT-5.4 Mini0.06¢$0.62estimated
GPT-6.1 Sol0.18¢$1.78measured
GPT-6 Astra0.89¢$8.88estimated

Email replies are short, so most models are cheap. The median across all models is 0.10¢. Luna, Nano and Mini all sit below it, while Sol and Astra sit above it.

Sol's measured run used 258 input, 126 output and 0 reasoning tokens, so its cost tracks the list price closely. At scale, the gap between Luna and Astra is $0.07 versus $8.88 per 1,000 replies.

Cost per RAG answer

ModelPer RAG answerPer 1,000Basis
GPT-6 Luna0.05¢$0.54measured
GPT-5.4 Nano0.12¢$1.16estimated
GPT-5.4 Mini0.43¢$4.29estimated
GPT-6.1 Sol1.2¢$11.80measured
GPT-6 Astra5.9¢$59.00estimated

RAG is where input price starts to matter more. The OpenAI runs send 3,690 input tokens across the five documents, so the input rate counts for much more than in a short chat question. The median across all models is 0.50¢.

Luna's measured run used 3,690 input, 234 output and 104 reasoning tokens. Sol's used 3,690 input, 442 output and no reasoning tokens.

Other labs on the RAG task:

  • Claude Haiku 5.5: 0.14¢ ($1.44 per 1,000), measured
  • Gemini 3.8 Flash: 1.1¢ ($10.84 per 1,000), measured
  • Claude Opus 5.5: 5.5¢ ($54.62 per 1,000), estimated

Live RAG ranking:

#ModelCost per taskText scoreTokens in / outBasis
1OpenAI logo
GPT-6 LunaOpenAI
0.05¢$0.54 / 1,000
14433,690 / 338measured best value
2Z.ai logo
GLM 5.3 FlashZ.ai
0.06¢$0.57 / 1,000
14743,714 / 1,971measured best value
3DeepSeek logo
DeepSeek V4.1 FlashDeepSeek
0.08¢$0.81 / 1,000
14753,696 / 3,750measured best value
4OpenAI logo
GPT-5.4 NanoOpenAI
0.12¢$1.16 / 1,000
14013,690 / 338estimated
5Anthropic logo
Claude Haiku 5.5Anthropic
0.14¢$1.44 / 1,000
-5,184 / 1,849measured
6Alibaba Qwen logo
Qwen3.8 FlashAlibaba Qwen
0.19¢$1.92 / 1,000
-3,751 / 2,886measured
7Mistral logo
Mistral Small 4Mistral
0.25¢$2.48 / 1,000
-3,772 / 3,191estimated
8Meta logo
Llama 4 MaverickMeta
0.26¢$2.58 / 1,000
13273,721 / 2,878estimated
9MiniMax logo
MiniMax M3MiniMax
0.26¢$2.64 / 1,000
14413,773 / 1,259measured
10Xiaomi logo
MiMo-V2.6-ProXiaomi
0.28¢$2.76 / 1,000
14793,807 / 1,266estimated best value

How to read these numbers

  • Pick by task, not by brand. GPT-6 Luna is the cheapest OpenAI option on all three tasks in my data. For simple jobs you may not need Astra.
  • Check input versus output. Chat is short, while RAG sends thousands of input tokens. The ranking can shift with the shape of your task.
  • Know what is measured. GPT-6 Luna and GPT-6.1 Sol were measured. GPT-5.4 Nano, GPT-5.4 Mini and GPT-6 Astra are estimated. Use estimates for ranking, not as invoices.
  • Compare per-task cost, not list price. A cheap model that reasons at length can cost more than a pricier one that doesn't.

Use the calculator to plug in your own token counts. Model pages: GPT-6 Luna, GPT-6.1 Sol and GPT-6 Astra. Task pages: chat answer, email reply and RAG answer.

FAQ

Is the ChatGPT API priced per message?

No. The API bills per token, both input and output, and reasoning tokens count as output. A message's cost depends on prompt length and how much the model reasons before answering.

Which OpenAI model is cheapest per chat answer?

GPT-6 Luna, at 0.06¢ per chat answer or $0.59 per 1,000. GPT-5.4 Nano is next at 0.15¢, though that figure is estimated.

Are these prices what I will pay?

They are list prices as of 2026-10-11 and per-task costs from my runs. Measured models had one run per task with default settings. Your bill will vary with prompt length, output length and caching.