Models

All prices below are at-cost — what the upstream provider charges us, we charge you. No markup, no spread. Last updated 2026-06-19.

Curated models

The 12 models below are the ones most customers reach for. They cover the bulk of real workloads (chat, code, vision, image generation).

Claude (Anthropic Messages)

ModelInput / 1M tokOutput / 1M tokCache read
claude-opus-4-8$15.00$75.00$1.50
claude-sonnet-4-6$3.00$15.00$0.30
claude-sonnet-4-5$3.00$15.00$0.30
claude-haiku-4-5$0.80$4.00$0.08

GPT (OpenAI Chat / Responses)

ModelInput / 1M tokOutput / 1M tokCache read
gpt-5.5$5.00$20.00$0.50
gpt-5.4$2.50$10.00$0.25
gpt-5.3-codex$3.00$12.00
gpt-5.4-mini$0.40$1.60$0.04
gpt-4o-mini$0.15$0.60$0.075

Gemini (Google)

ModelInput / 1M tokOutput / 1M tokCache read
gemini-3.1-pro-preview$3.50$10.50$0.875
gemini-3-flash-preview$0.30$1.20$0.075

Image generation

ModelPer imageNotes
gpt-image-2$0.0401024×1024, billed per generated image

150+ more models available

The list above is curated for visibility — the full catalog is much larger. If you need a model that's not on the page (specific *-codex snapshot, embedding model, audio model, etc.), it almost certainly works. Email support@sparkapi.cc with the model ID and we'll confirm or add it.

Prompt caching

For long system prompts or repeated context blocks, enable prompt caching. Cached tokens are billed at roughly 10% of the input price — typically a 60–80% cost reduction on workloads with stable context.

How to enable it:

Claude (Anthropic Messages)

Add "cache_control": {"type": "ephemeral"} to any message or content block. Tokens above that breakpoint are cached for 5 minutes.

{
  "model": "claude-sonnet-4-6",
  "max_tokens": 256,
  "system": [{
    "type": "text",
    "text": "<your long system prompt>",
    "cache_control": {"type": "ephemeral"}
  }],
  "messages": [{"role": "user", "content": "summarise the system prompt"}]
}

OpenAI

OpenAI auto-caches any prompt longer than 1024 tokens — no flag needed. The first request pays full price; subsequent requests within the cache window pay the cache-read rate from the table above.

Gemini

Pass "cachedContent": "<your-cache-name>" in the request body. See Google's docs for creating a cache first.

Tip: If your workload repeats the same long context more than a few times per hour, caching is the single biggest cost lever. See the worked example on the Pricing page.