Last verified: August 15, 2026
Short path: Cheap LLM API · OpenAI-compatible API · AI API pricing · Models
LumeAPI is an independent third-party gateway — not OpenAI. This page owns GPT-only production spend: which OpenAI tier you are calling, and whether that traffic can stay on Chat Completions. It does not own Claude vs Opus (Claude cost guide), Gemini Flash vs Pro (Gemini cost guide), agent hop caps (agent bills), or provider Batch SLAs (Batch guide).
If the OpenAI invoice jumped, the first leak is usually Sol serving classify-and-extract work, not the gateway you have not switched to yet.
Quick Answer
| GPT leak | What to measure | First move on this page |
|---|---|---|
| Routine tickets on Sol | Share of calls on gpt-5.6-sol vs mini/Terra | Eval GPT-5.4 mini; keep Sol for the failing slice |
| Terra everywhere | Cost per accepted task on a 10M+2M shape | Compare OpenAI live Terra $2/$12 vs LumeAPI $0.75/$4.50 |
| Batch or cache assumed on a gateway | Whether the job is JSONL + custom_id | Stay on OpenAI for Batch and cached-input economics |
| Hosted tools dominate | Tool fees vs text tokens | Do not move Responses/Realtime/search traffic |
- Tag every call with
task_idand model id. - Move classify/extract off Sol onto GPT-5.4 mini if evals pass.
- Shadow eligible Chat Completions on LumeAPI
gpt-5.6-terraonly after the worksheet below.
In short
A GPT bill is three ladders, not one “OpenAI API” rate. Mini, Terra, and Sol have different official prices. LumeAPI lists the first two plus Sol; it does not list GPT-5.6 Luna. OpenAI Batch, prompt cache, and hosted tools stay on OpenAI unless you have measured that the job does not need them.
What most guides get wrong
They paste a 70% badge and a single Terra row. OpenAI cut Terra to $2 / $12 per 1M on 30 July 2026 (OpenAI pricing). LumeAPI’s catalog still stores official_price as $2.50 / $15.00 for Terra (synced 2026-07-22) while billing $0.75 / $4.50. Versus the live OpenAI rate that is 62.5%, not 70%. Sol and GPT-5.4 mini still show 70% against OpenAI list. Mixing those percentages into one slogan hides which GPT route you actually run.
They also treat Batch as a gateway feature. LumeAPI has no Batch endpoint. If the job is JSONL with a 24-hour window, stay on OpenAI — details on the Batch page.
Current GPT ladder (this page’s only price table)
Checked 15 August 2026 against OpenAI’s model catalog and LumeAPI pricing. Standard Chat Completions, short context. Not Batch, not cache, not Fast mode.
| Catalog id | OpenAI live in/out | LumeAPI in/out | vs live OpenAI |
|---|---|---|---|
gpt-5.4-mini | $0.75 / $4.50 | $0.225 / $1.35 | 70% lower |
gpt-5.6-terra | $2.00 / $12.00 | $0.75 / $4.50 | 62.5% lower |
gpt-5.6-sol | $5.00 / $30.00 | $1.50 / $9.00 | 70% lower |
gpt-5.6-luna | $0.20 / $1.20 | Not in LumeAPI catalog | Stay on OpenAI |
Terra’s LumeAPI official_price field is stale at $2.50/$15. This table uses OpenAI’s live $2/$12. Verify both catalogs before budgeting.
Same 10M input + 2M output, three GPT tiers
Planning arithmetic only — identical token counts, no retries.
| Route | OpenAI standard | LumeAPI listed | Difference |
|---|---|---|---|
| GPT-5.4 mini | $16.50 | $4.95 | $11.55 |
| GPT-5.6 Terra | $44.00 | $16.50 | $27.50 |
| GPT-5.6 Sol | $110.00 | $33.00 | $77.00 |
Terra: 10 × $2 + 2 × $12 = $44 vs 10 × $0.75 + 2 × $4.50 = $16.50. If only half the traffic is Chat Completions-eligible, the Terra difference is $13.75. If Sol is doing mini work, the first dollar you save is a tier change, not a gateway change.
Find the GPT leak before changing endpoints
| Signal | Likely GPT-specific cause | First action |
|---|---|---|
| Sol share of calls | Flagship default in the SDK | Pin mini or Terra in config; require a logged eval fail to escalate |
| Input tokens per accepted ticket | Full thread + tool dump replayed | That leak belongs on the agent page |
| Output tokens | Unbounded reasoning / long answers | max_tokens plus a short response contract |
| Hosted-tool line items | Search, code interpreter, file search | Keep those calls on OpenAI |
| Cache-eligible prefixes billed full | Stable system prompt never hits OpenAI cache | Stay on OpenAI until you measure cache hits |
The denominator is accepted tasks, not requests.
A realistic production scenario
A support desk logs 8 million input tokens and 1.2 million output tokens per month on gpt-5.6-sol because the template copied OpenAI’s flagship id. At OpenAI standard rates that is 8 × $5 + 1.2 × $30 = $76. An eval of 200 tickets shows mini passing 91% of classify-and-draft work; the failing 9% needs Terra, and none of the sample needed Sol.
Move 91% of tokens to mini and 9% to Terra on OpenAI first:
Mini: 0.91 × (8 × $0.75 + 1.2 × $4.50) = 0.91 × $11.40 = $10.37
Terra: 0.09 × (8 × $2.00 + 1.2 × $12.00) = 0.09 × $30.40 = $2.74
OpenAI mixed total ≈ $13.11That cut is inside OpenAI. Then shadow the same mix on LumeAPI:
Mini: 0.91 × (8 × $0.225 + 1.2 × $1.35) = 0.91 × $3.42 = $3.11
Terra: 0.09 × (8 × $0.75 + 1.2 × $4.50) = 0.09 × $11.40 = $1.03
LumeAPI mixed total ≈ $4.14Figures are worksheet math, not a customer invoice. If mini acceptance falls below your bar, the mix is wrong even at the lower rate.
Copyable GPT worksheet
Seven days of comparable traffic:
route,model_id,tasks_attempted,tasks_accepted,input_tokens,output_tokens,retries,tool_fees,total_cost
openai,gpt-5.4-mini,0,0,0,0,0,0,0
openai,gpt-5.6-terra,0,0,0,0,0,0,0
openai,gpt-5.6-sol,0,0,0,0,0,0,0
lumeapi,gpt-5.4-mini,0,0,0,0,0,0,0
lumeapi,gpt-5.6-terra,0,0,0,0,0,0,0
lumeapi,gpt-5.6-sol,0,0,0,0,0,0,0| Metric | Formula | Guardrail |
|---|---|---|
| Acceptance | accepted / attempted | Must stay inside your tolerance per model id |
| Cost per accepted task | total cost / accepted | Must improve on that id |
| Sol share | Sol calls / all GPT calls | Should fall if mini/Terra pass |
| Feature pass | required Chat Completions tests | 100% before cutover |
Migration payback (Terra-shaped eligible slice)
Hypothetical 10 million input + 2 million output on Terra, $300 engineering cost:
OpenAI standard $44.00 − LumeAPI $16.50 = $27.50 / month
Payback = $300 / $27.50 ≈ 10.9 months
If eligible_share = 0.5 → $13.75 / month → 21.8 monthsdef migration_payback_months(
input_millions: float,
output_millions: float,
current_rates: tuple[float, float],
candidate_rates: tuple[float, float],
migration_cost: float,
eligible_share: float = 1.0,
) -> tuple[float, float]:
if not 0 < eligible_share <= 1:
raise ValueError("eligible_share must be in (0, 1]")
current = input_millions * current_rates[0] + output_millions * current_rates[1]
candidate = input_millions * candidate_rates[0] + output_millions * candidate_rates[1]
qualified_savings = (current - candidate) * eligible_share
if qualified_savings <= 0:
raise ValueError("candidate route does not create positive qualified savings")
return qualified_savings, migration_cost / qualified_savings
savings, months = migration_payback_months(
input_millions=10,
output_millions=2,
current_rates=(2.00, 12.00),
candidate_rates=(0.75, 4.50),
migration_cost=300,
)
print(f"monthly savings=${savings:.2f}; payback={months:.1f} months")Exclude Batch, cache, and hosted-tool traffic from eligible_share.
Reduce spend before switching endpoints
Route simple GPT tasks to mini
Classification, extraction, short drafts, and tool-argument fill often pass on gpt-5.4-mini. User-facing synthesis may need gpt-5.6-terra. Reserve gpt-5.6-sol for tasks where a measured acceptance gain pays $5/$30 official (or $1.50/$9 on LumeAPI).
Do not send Luna traffic to LumeAPI
OpenAI lists Luna at $0.20/$1.20. That id is not in the LumeAPI catalog. Calling a missing id fails; substituting Terra silently would erase Luna’s rate. Keep Luna on OpenAI.
Stay on OpenAI for Batch, cache, and hosted tools
OpenAI Batch is 50% of synchronous token prices with a 24-hour turnaround (Batch API). Cached input on Terra is $0.20 / 1M on OpenAI. LumeAPI’s public catalog lists standard in/out only. If those line items are why the bill looks high, changing base_url will not reproduce them.
Safe OpenAI SDK slice
Eligible Chat Completions only. Never send an OpenAI key to a third-party host.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["LUMEAPI_KEY"],
base_url="https://api.lumeapi.site/v1",
timeout=60.0,
max_retries=2,
)
response = client.chat.completions.create(
model="gpt-5.6-terra",
messages=[
{"role": "system", "content": "Return a concise answer with cited evidence."},
{"role": "user", "content": "Summarize the main issue in this support ticket."},
],
max_tokens=400,
)
print(response.choices[0].message.content)Store provider settings in environment variables so rollback does not need a code release.
Compatibility checks that belong on GPT traffic
| Capability | Test before moving | Stay with OpenAI when |
|---|---|---|
| Chat Completions | Messages, streaming, usage | Shape or usage fields differ |
| Tool calling | Schema and invalid-argument repair | Repair behavior regresses |
| Structured output | Schema adherence | Native behavior missing |
| Responses / Realtime | Hosted tools, codecs | Product depends on them |
| Batch / cache | JSONL custom_id, cache hit rate | Those economics are the reason you called OpenAI |
OpenAI compatibility is a spectrum. Read OpenAI-compatible API, then test the features this product uses.
When the official OpenAI API is the better choice
Stay on OpenAI when you need Luna, Batch, cached-input billing, hosted tools, contractual data controls, or a model the day it ships. Use LumeAPI when standard text generation on mini, Terra, or Sol is enough, and cost per accepted task falls on a measured slice.
Expert take
Treat GPT routing as three decisions: which tier, which billing mode, which host. Most “OpenAI is too expensive” threads skip the first two and jump to a gateway. Mini vs Terra vs Sol on your eval set usually moves the invoice more than swapping base_url on Sol. LumeAPI is useful after that split is logged — published catalog rates, USD wallet, OpenAI-compatible Chat Completions. It is not a substitute for OpenAI Batch or Luna.
Frequently asked questions
Where is the OpenAI API pricing page for GPT models?
Official list rates: OpenAI pricing and the model catalog. LumeAPI GPT rows: /ai-api-pricing. This Research page is GPT-only cost per accepted task.
What is the cheapest OpenAI-compatible GPT route on LumeAPI?
gpt-5.4-mini at $0.225 / $1.35 per 1M. Compare it with Gemini Flash on /cheap-llm-api only after you decide the job is allowed to leave the GPT family. Cheapest token rate is not cheapest accepted task if retries rise.
Can one LumeAPI key call GPT and Claude?
Yes: same base_url and Bearer key, swap model. Cross-provider tables live on /research/llm-api-pricing-comparison-2026-openai-claude-gemini, not here.
Why is the OpenAI API bill higher than the calculator?
Repeated context, long output, reasoning tokens, retries, Sol as default, hosted tools, and Batch jobs mixed into a “standard” spreadsheet. Reconcile task IDs with model id and usage before changing hosts.
Can I keep the OpenAI SDK when moving eligible GPT traffic?
For documented Chat Completions, often yes. You still change the API key, base URL, and model id, and you test every required capability.
Does a 70% label apply to every GPT model on LumeAPI?
No. Sol and GPT-5.4 mini are 70% vs OpenAI list. Terra is 62.5% vs OpenAI’s live $2/$12 because the catalog official_price field was not updated after 30 July 2026.
Should I move every OpenAI request?
No. Keep Luna, Batch, cache, and hosted-tool workloads on OpenAI. Move only routes that pass feature and quality checks.
Sources and methodology
Prices checked 15 August 2026. LumeAPI billed rates from catalog.py (pricing updated 2026-07-22). Calculations are reproducible examples, not customer savings.