@broberg/ai-sdk 0.64.2 → 0.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,337 +0,0 @@
1
- import {
2
- PRICING,
3
- stripDatedSuffix
4
- } from "./chunk-BWBRED4O.js";
5
-
6
- // src/cost/media-pricing.ts
7
- var MEDIA_PRICING_CHECKED_AT = "2026-10-11";
8
- var VEO_PER_SEC = {
9
- "veo-3.1-generate-preview": { usd: 0.4, source: "ai.google.dev/gemini-api/docs/pricing \u2014 video with audio, 720p/1080p (4K = 0.60)" },
10
- "veo-3.1-fast-generate-preview": { usd: 0.1, source: "ai.google.dev/gemini-api/docs/pricing \u2014 720p (1080p = 0.12, 4K = 0.30)" },
11
- "veo-3.1-lite-generate-preview": { usd: 0.05, source: "ai.google.dev/gemini-api/docs/pricing \u2014 720p (1080p = 0.08)" },
12
- "veo-3.0-generate-001": { usd: 0.4, source: "ai.google.dev/gemini-api/docs/pricing" },
13
- "veo-3.0-fast-generate-001": { usd: 0.1, source: "ai.google.dev/gemini-api/docs/pricing" }
14
- };
15
- var veoRows = (provider) => Object.fromEntries(
16
- Object.entries(VEO_PER_SEC).map(([model, v]) => [
17
- `${provider}:${model}`,
18
- { unit: "per_sec", usd: v.usd, checkedAt: MEDIA_PRICING_CHECKED_AT, source: v.source }
19
- ])
20
- );
21
- var MEDIA_PRICING = {
22
- ...veoRows("gemini"),
23
- ...veoRows("vertex"),
24
- // fal video — fal's OFFICIAL published per-second rate, not a guess. Kling 2.5
25
- // Turbo Pro i2v is the blessed FAL_KEY-only image→video route: $0.35 for the
26
- // first 5 s + $0.07/additional s = a flat $0.07/s at 1080p.
27
- "fal:fal-ai/kling-video/v2.5-turbo/pro/image-to-video": {
28
- unit: "per_sec",
29
- usd: 0.07,
30
- checkedAt: MEDIA_PRICING_CHECKED_AT,
31
- source: "fal.ai/models/fal-ai/kling-video/v2.5-turbo/pro/image-to-video"
32
- },
33
- // fal images — ESTIMATES. fal bills by megapixel and changes often; fal returns
34
- // no price with the result, so a call costed from these carries
35
- // `costBasis: "estimated"`. Override per call with config.pricePerImage.
36
- "fal:fal-ai/flux/schnell": { unit: "per_image", usd: 3e-3, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "fal.ai pricing \u2014 estimate, billed by megapixel" },
37
- "fal:fal-ai/flux/dev": { unit: "per_image", usd: 0.025, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "fal.ai pricing \u2014 estimate, billed by megapixel" },
38
- "fal:fal-ai/flux-lora": { unit: "per_image", usd: 0.035, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "fal.ai/models/fal-ai/flux-lora \u2014 $0.035/MP (was 0.025 until 2026-10-11), billed by megapixel" },
39
- "fal:fal-ai/flux-pro": { unit: "per_image", usd: 0.05, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "fal.ai pricing \u2014 estimate, billed by megapixel" },
40
- "fal:fal-ai/flux-pro/v1.1": { unit: "per_image", usd: 0.04, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "fal.ai pricing \u2014 estimate, billed by megapixel" },
41
- // F079 — FLUX 3 Video on api.eu.bfl.ai. Fallback only: BFL reports the settled cost
42
- // in get_result. MEASURED 20/10 2026: a 5 s hd i2v clip settled at 75 credits = $0.75.
43
- // Higher resolutions (fhd/qhd/uhd) are not measured and cost more.
44
- "bfl:flux-3-video": {
45
- unit: "per_sec",
46
- usd: 0.15,
47
- checkedAt: MEDIA_PRICING_CHECKED_AT,
48
- source: "measured 2026-10-20: get_result cost 75 credits for a 5 s hd clip (hd only)"
49
- },
50
- // BFL — the fallback only. BFL RETURNS the real billed cost in credits, so a
51
- // normal call is `costBasis: "reported"` and never reads this row.
52
- "bfl:flux-pro-1.1-ultra-finetuned": {
53
- unit: "per_image",
54
- usd: 0.06,
55
- checkedAt: MEDIA_PRICING_CHECKED_AT,
56
- source: "bfl.ai/pricing \u2014 estimate; used only when BFL omits the credit cost"
57
- },
58
- // Gemini images — billed per image, not per token. Google's price RISES with
59
- // resolution; these are the common 1K/1024px default.
60
- "gemini:gemini-2.5-flash-image": { unit: "per_image", usd: 0.039, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "ai.google.dev/gemini-api/docs/pricing \u2014 'nano-banana', 1024px = 1290 tok" },
61
- "gemini:gemini-3.1-flash-image": { unit: "per_image", usd: 0.067, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "ai.google.dev/gemini-api/docs/pricing \u2014 1K; 2K=0.101, 4K=0.151" },
62
- "gemini:gemini-3.1-flash-image-preview": { unit: "per_image", usd: 0.067, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "ai.google.dev/gemini-api/docs/pricing \u2014 1K; 2K=0.101, 4K=0.151" },
63
- "gemini:gemini-3-pro-image": { unit: "per_image", usd: 0.134, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "ai.google.dev/gemini-api/docs/pricing \u2014 premium; 1K/2K=0.134, 4K=0.24" },
64
- "gemini:gemini-3-pro-image-preview": { unit: "per_image", usd: 0.134, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "ai.google.dev/gemini-api/docs/pricing \u2014 premium; was mistakenly the flash price once" },
65
- // OpenRouter images — the FALLBACK only. OpenRouter usually returns usage.cost.
66
- "openrouter:recraft/recraft-v4.1": { unit: "per_image", usd: 0.035, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "openrouter.ai/recraft/recraft-v4.1 \u2014 fallback when usage.cost is omitted" },
67
- "openrouter:recraft/recraft-v4.1-vector": { unit: "per_image", usd: 0.08, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "openrouter.ai/recraft/recraft-v4.1-vector \u2014 fallback when usage.cost is omitted" },
68
- // F063: OpenRouter prices Recraft per image-token; both rows above are that rate
69
- // x 4175 tokens/image exactly, so these use the same factor (measured 27/9 off
70
- // /api/v1/models?output_modalities=image).
71
- "openrouter:recraft/recraft-v4.1-pro-vector": { unit: "per_image", usd: 0.3, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "openrouter.ai/api/v1/models, measured 2026-09-27 \u2014 image_token 7.186e-5 x 4175; fallback when usage.cost is omitted" },
72
- "openrouter:recraft/recraft-v4.1-pro": { unit: "per_image", usd: 0.21, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "openrouter.ai/api/v1/models, measured 2026-09-27 \u2014 image_token 5.030e-5 x 4175; fallback when usage.cost is omitted" },
73
- // Speech OUT — billed per 1000 characters of input text.
74
- "azure:tts": { unit: "per_1k_chars", usd: 0.015, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "prices.azure.com retail API, westeurope \u2014 S1 Neural TTS $15/1M chars (HD voices $22/1M)" },
75
- "elevenlabs:tts": { unit: "per_1k_chars", usd: 0.08, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "elevenlabs.io/pricing/api \u2014 v3 Text to Speech $0.08/1k chars (the adapter uses eleven_v3)" },
76
- // Translation — per 1000 characters. Free tier (":fx" key, within quota) is truly $0;
77
- // this rate only bites past the Pro allowance.
78
- "deepl:translate": { unit: "per_1k_chars", usd: 0.0217, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "deepl.com/pro-api \u2014 ESTIMATE, conflicting tier reports; verify before a budget decision" },
79
- // Speech IN — billed per audio-minute.
80
- "azure:stt": { unit: "per_min", usd: 6e-3, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "prices.azure.com retail API, westeurope \u2014 Fast Transcription $0.36/hour; the adapter calls transcriptions:transcribe (fast). $1/h was the real-time rate we do not use" },
81
- "openai:whisper-1": { unit: "per_min", usd: 6e-3, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "openai.com/api/pricing \u2014 Whisper" },
82
- "mistral:voxtral-mini-latest": { unit: "per_min", usd: 3e-3, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "docs.mistral.ai/models/voxtral-mini-transcribe-26-02 \u2014 alias of voxtral-mini-2602, $0.003/min" },
83
- "mistral:voxtral-mini-2507": { unit: "per_min", usd: 2e-3, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "mistral.ai/pricing \u2014 Voxtral; deprecated 2026-02-27, docs no longer show a price (NOT re-verifiable 2026-10-11)" },
84
- "mistral:voxtral-mini-2602": { unit: "per_min", usd: 3e-3, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "docs.mistral.ai/models/voxtral-mini-transcribe-26-02 \u2014 $0.003/min (was 0.002 until 2026-10-11)" },
85
- // OCR — per page.
86
- "mistral:ocr": { unit: "per_page", usd: 4e-3, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "Mistral mail 2026-09-30 (OCR 4.1): $4/1000 pages direct; $2/1000 is the Batch-API price, which ai.ocr does not use" },
87
- // A flat fee per training run, not per anything produced.
88
- "fal:train": { unit: "per_training", usd: 2, checkedAt: MEDIA_PRICING_CHECKED_AT, source: "fal.ai/models/fal-ai/flux-lora-fast-training \u2014 approx $2, ESTIMATE" }
89
- };
90
- var DEFAULT_CLIP_SEC = 8;
91
- function getMediaPrice(provider, model) {
92
- return MEDIA_PRICING[`${provider}:${model}`];
93
- }
94
- function mediaUnitCounts() {
95
- const counts = {
96
- per_sec: 0,
97
- per_image: 0,
98
- per_1k_chars: 0,
99
- per_min: 0,
100
- per_page: 0,
101
- per_training: 0
102
- };
103
- for (const p of Object.values(MEDIA_PRICING)) counts[p.unit]++;
104
- return counts;
105
- }
106
-
107
- // src/catalogue/pricing-data.ts
108
- var PRICING_GENERATED_AT = "2026-10-20T11:06:01.218Z";
109
- var PRICING_CHECKED_AT = "2026-10-20T11:06:01.218Z";
110
- var PRICING_DATA = [{ "provider": "minimax", "model": "minimax/minimax-m3.1-flash:free", "name": "MiniMax: MiniMax M3.1 Flash (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "deepseek", "model": "deepseek/deepseek-v4.1-flash-1017", "name": "DeepSeek: DeepSeek V4.1 Flash 1017", "input": 0.15, "output": 0.6, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "elorian", "model": "elorian/glimpse", "name": "Elorian: Glimpse", "input": 0.6, "output": 3, "unit": "per_1m_tokens", "region": "other" }, { "provider": "xingchen-agi", "model": "xingchen-agi/xing4.0-29b-a4b:free", "name": "XingChen: Xing4.0 29B A4B (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "reflection", "model": "reflection/beam-1.0-501b-a23b", "name": "Reflection: Beam 1.0 501B A23B", "input": 0.3, "output": 1, "unit": "per_1m_tokens", "region": "other" }, { "provider": "inception", "model": "inception/mercury-3", "name": "Inception: Mercury 3", "input": 0.1, "output": 0.35, "unit": "per_1m_tokens", "region": "other" }, { "provider": "moondream", "model": "moondream/moondream3-preview", "name": "Moondream: Moondream 3 Preview", "input": 0.3, "output": 2.5, "unit": "per_1m_tokens", "region": "other" }, { "provider": "moondream", "model": "moondream/moondream3.1-9b-a2b", "name": "Moondream: Moondream 3.1", "input": 0.3, "output": 2.5, "unit": "per_1m_tokens", "region": "other" }, { "provider": "meta", "model": "meta/muse-spark-open", "name": "Meta: Muse Spark Open", "input": 1.25, "output": 4.25, "unit": "per_1m_tokens", "region": "other" }, { "provider": "nvidia", "model": "nvidia/nemotron-3.5-super-vl", "name": "NVIDIA: Nemotron 3.5 Super VL", "input": 0.15, "output": 0.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "nvidia", "model": "nvidia/nemotron-3.5-super-vl:free", "name": "NVIDIA: Nemotron 3.5 Super VL (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "us" }, { "provider": "unbiased", "model": "unbiased/pareto-26.10", "name": "Pareto 26.10", "input": 0.8, "output": 3.2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~unbiased", "model": "~unbiased/pareto-latest", "name": "Pareto Latest", "input": 0.8, "output": 3.2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "unbiased", "model": "unbiased/pareto-26.9", "name": "Pareto 26.9", "input": 2.5, "output": 7.5, "unit": "per_1m_tokens", "region": "other" }, { "provider": "liquid", "model": "liquid/lfm-2.5-24b-a2b", "name": "LiquidAI: LFM2.5-24B-A2B", "input": 0.05, "output": 0.7, "unit": "per_1m_tokens", "region": "other" }, { "provider": "google", "model": "google/gemini-4-argon", "name": "Google: Gemini 4 Argon", "input": 2, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-4-argon:batch", "name": "Google: Gemini 4 Argon (batch)", "input": 1, "output": 5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "scaledown", "model": "scaledown/summarize", "name": "ScaleDown: Summarize", "input": 0.04, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "scaledown", "model": "scaledown/extract", "name": "ScaleDown: Extract", "input": 0.04, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "meta", "model": "meta/muse-wonder", "name": "Meta: Muse Wonder", "input": 4, "output": 20, "unit": "per_1m_tokens", "region": "other" }, { "provider": "stepfun", "model": "stepfun/step-5-preview", "name": "StepFun: Step 5 Preview", "input": 1, "output": 2.7, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "anthropic", "model": "anthropic/claude-haiku-5.5", "name": "Anthropic: Claude Haiku 5.5", "input": 0.1, "output": 0.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-haiku-5.5:batch", "name": "Anthropic: Claude Haiku 5.5 (batch)", "input": 0.05, "output": 0.25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-nano-banana-2.1", "name": "Google: Nano Banana 2.1", "input": 1.5, "output": 7.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/mistral-large-4-0", "name": "Mistral: Mistral Large 4", "input": 0.68, "output": 2.09, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "inclusionai", "model": "inclusionai/ling-3.1-flash", "name": "inclusionAI: Ling 3.1 Flash", "input": 0.075, "output": 0.225, "unit": "per_1m_tokens", "region": "other" }, { "provider": "openai", "model": "openai/gpt-6.1-sol-pro", "name": "OpenAI: GPT-6.1 Sol Pro", "input": 2, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-6.1-sol-pro:batch", "name": "OpenAI: GPT-6.1 Sol Pro (batch)", "input": 1, "output": 5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-6.1-sol", "name": "OpenAI: GPT-6.1 Sol", "input": 2, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-6.1-sol:batch", "name": "OpenAI: GPT-6.1 Sol (batch)", "input": 1, "output": 5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-sonnet-5.5", "name": "Anthropic: Claude Sonnet 5.5", "input": 2, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-sonnet-5.5:batch", "name": "Anthropic: Claude Sonnet 5.5 (batch)", "input": 1, "output": 5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "typesafe", "model": "typesafe/jev-router", "name": "TypeSafe: Jev Router", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "perceptron", "model": "perceptron/perceptron-mk1.5", "name": "Perceptron: Perceptron Mk1.5", "input": 0.15, "output": 1.5, "unit": "per_1m_tokens", "region": "other" }, { "provider": "fireworks", "model": "fireworks/ember-1", "name": "Fireworks: Ember-1", "input": 3, "output": 15, "unit": "per_1m_tokens", "region": "other" }, { "provider": "z-ai", "model": "z-ai/glm-5.3-prime", "name": "Z.ai: GLM 5.3 Prime", "input": 2.8, "output": 8.8, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3.8-max-prime", "name": "Qwen: Qwen3.8 Max Prime", "input": 4, "output": 12, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "aion-labs", "model": "aion-labs/aion-3.5-mini", "name": "AionLabs: Aion 3.5 Mini", "input": 0.7, "output": 1.4, "unit": "per_1m_tokens", "region": "other" }, { "provider": "aion-labs", "model": "aion-labs/aion-3.5", "name": "AionLabs: Aion 3.5", "input": 3, "output": 6, "unit": "per_1m_tokens", "region": "other" }, { "provider": "upstage", "model": "upstage/solar-mini4", "name": "Upstage: Solar Mini 4", "input": 0.05, "output": 0.2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "cohere", "model": "cohere/command-a-plus", "name": "Cohere: Command A+", "input": 0.3, "output": 1.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-6-luna-pro", "name": "OpenAI: GPT-6 Luna Pro", "input": 0.1, "output": 0.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-6-luna-pro:batch", "name": "OpenAI: GPT-6 Luna Pro (batch)", "input": 0.05, "output": 0.25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-6-luna", "name": "OpenAI: GPT-6 Luna", "input": 0.1, "output": 0.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-6-luna:batch", "name": "OpenAI: GPT-6 Luna (batch)", "input": 0.05, "output": 0.25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-6-sol-pro", "name": "OpenAI: GPT-6 Sol Pro", "input": 2, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-6-sol-pro:batch", "name": "OpenAI: GPT-6 Sol Pro (batch)", "input": 1, "output": 5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-6-sol", "name": "OpenAI: GPT-6 Sol", "input": 2, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-6-sol:batch", "name": "OpenAI: GPT-6 Sol (batch)", "input": 1, "output": 5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-opus-5.5", "name": "Anthropic: Claude Opus 5.5", "input": 4, "output": 20, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-opus-5.5:batch", "name": "Anthropic: Claude Opus 5.5 (batch)", "input": 2, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "nvidia", "model": "nvidia/switchyard", "name": "NVIDIA: Switchyard", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "us" }, { "provider": "xiaomi", "model": "xiaomi/mimo-v2.6-pro-ultraspeed", "name": "Xiaomi: MiMo-V2.6-Pro-UltraSpeed", "input": 4.35, "output": 8.7, "unit": "per_1m_tokens", "region": "other" }, { "provider": "xiaomi", "model": "xiaomi/mimo-v2.6-flash", "name": "Xiaomi: MiMo-V2.6-Flash", "input": 0.14, "output": 0.28, "unit": "per_1m_tokens", "region": "other" }, { "provider": "xiaomi", "model": "xiaomi/mimo-v2.6-pro", "name": "Xiaomi: MiMo-V2.6-Pro", "input": 0.435, "output": 0.87, "unit": "per_1m_tokens", "region": "other" }, { "provider": "x-ai", "model": "x-ai/grok-4.7", "name": "SpaceXAI: Grok 4.7", "input": 2, "output": 6, "unit": "per_1m_tokens", "region": "us" }, { "provider": "qwen", "model": "qwen/qwen3.8-omni-flash", "name": "Qwen: Qwen3.8 Omni Flash", "input": 0.15, "output": 0.47, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "prism-ml", "model": "prism-ml/ternary-bonsai-2-27b", "name": "PrismML: Ternary Bonsai 2 27B", "input": 0.075, "output": 0.5, "unit": "per_1m_tokens", "region": "other" }, { "provider": "z-ai", "model": "z-ai/glm-5.3-flashx", "name": "Z.ai: GLM 5.3 FlashX", "input": 0.37, "output": 1.25, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "~deepseek", "model": "~deepseek/deepseek-pro-latest", "name": "DeepSeek: DeepSeek Pro Latest", "input": 0.225, "output": 8, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~deepseek", "model": "~deepseek/deepseek-flash-latest", "name": "DeepSeek: DeepSeek Flash Latest", "input": 0.07, "output": 0.5, "unit": "per_1m_tokens", "region": "other" }, { "provider": "inference-net", "model": "inference-net/schematron-v2-turbo", "name": "Inference.net: Schematron V2 Turbo", "input": 0.03, "output": 0.15, "unit": "per_1m_tokens", "region": "other" }, { "provider": "inference-net", "model": "inference-net/schematron-v2-small", "name": "Inference.net: Schematron V2 Small", "input": 0.05, "output": 0.23, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~openai", "model": "~openai/gpt-astra-latest", "name": "OpenAI: GPT Astra Latest", "input": 10, "output": 50, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~openai", "model": "~openai/gpt-sol-latest", "name": "OpenAI: GPT Sol Latest", "input": 2, "output": 10, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~openai", "model": "~openai/gpt-terra-latest", "name": "OpenAI: GPT Terra Latest", "input": 2, "output": 12, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~openai", "model": "~openai/gpt-luna-latest", "name": "OpenAI: GPT Luna Latest", "input": 0.1, "output": 0.5, "unit": "per_1m_tokens", "region": "other" }, { "provider": "sakana", "model": "sakana/fugu-ultra-v2", "name": "Sakana: Fugu Ultra v2", "input": 5, "output": 30, "unit": "per_1m_tokens", "region": "other" }, { "provider": "sakana", "model": "sakana/fugu-max", "name": "Sakana: Fugu Max", "input": 2, "output": 6, "unit": "per_1m_tokens", "region": "other" }, { "provider": "inclusionai", "model": "inclusionai/ling-3.0-flash-vl", "name": "inclusionAI: Ling 3.0 Flash VL", "input": 0.06, "output": 0.18, "unit": "per_1m_tokens", "region": "other" }, { "provider": "deepseek", "model": "deepseek/deepseek-v4.1-flash", "name": "DeepSeek: DeepSeek V4.1 Flash", "input": 0.056, "output": 0.12, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "deepseek", "model": "deepseek/deepseek-v4.1-flash:batch", "name": "DeepSeek: DeepSeek V4.1 Flash (batch)", "input": 0.05, "output": 0.15, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "inception", "model": "inception/mercury-2.5", "name": "Inception: Mercury 2.5", "input": 0.04, "output": 0.15, "unit": "per_1m_tokens", "region": "other" }, { "provider": "nex-agi", "model": "nex-agi/nex-n2.5-mini", "name": "Nex AGI: Nex-N2.5-Mini", "input": 0.025, "output": 0.1, "unit": "per_1m_tokens", "region": "other" }, { "provider": "nex-agi", "model": "nex-agi/nex-n2.5-pro", "name": "Nex AGI: Nex-N2.5-Pro", "input": 0.075, "output": 0.25, "unit": "per_1m_tokens", "region": "other" }, { "provider": "openai", "model": "openai/gpt-6-astra", "name": "OpenAI: GPT-6 Astra", "input": 10, "output": 50, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-6-astra:batch", "name": "OpenAI: GPT-6 Astra (batch)", "input": 5, "output": 25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-6-astra-pro", "name": "OpenAI: GPT-6 Astra Pro", "input": 10, "output": 50, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-6-astra-pro:batch", "name": "OpenAI: GPT-6 Astra Pro (batch)", "input": 5, "output": 25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "qwen", "model": "qwen/qwen3.8-max-0902", "name": "Qwen: Qwen3.8 Max (0902)", "input": 2, "output": 6, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "meta", "model": "meta/muse-spark-1.3-contributor", "name": "Meta: Muse Spark 1.3 Contributor", "input": 0.1, "output": 0.2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "meta", "model": "meta/muse-spark-1.3", "name": "Meta: Muse Spark 1.3", "input": 1.25, "output": 4.25, "unit": "per_1m_tokens", "region": "other" }, { "provider": "google", "model": "google/gemini-3.8-flash", "name": "Google: Gemini 3.8 Flash", "input": 0.825, "output": 4.125, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-3.8-flash:batch", "name": "Google: Gemini 3.8 Flash (batch)", "input": 0.375, "output": 1.875, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-fable-5.1", "name": "Anthropic: Claude Fable 5.1", "input": 10, "output": 50, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-fable-5.1:batch", "name": "Anthropic: Claude Fable 5.1 (batch)", "input": 5, "output": 25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "ibm-granite", "model": "ibm-granite/granite-4.2-8b", "name": "IBM: Granite 4.2 8B", "input": 0.06, "output": 0.25, "unit": "per_1m_tokens", "region": "other" }, { "provider": "tencent", "model": "tencent/hy4-preview", "name": "Tencent: Hy4 preview", "input": 0.834, "output": 2.501, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~z-ai", "model": "~z-ai/glm-flash-latest", "name": "Z.ai: GLM Flash Latest", "input": 0.037476, "output": 0.16, "unit": "per_1m_tokens", "region": "other" }, { "provider": "qwen", "model": "qwen/qwen3.8-flash", "name": "Qwen: Qwen3.8 Flash", "input": 0.15, "output": 0.47, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "z-ai", "model": "z-ai/glm-5.3-flash", "name": "Z.ai: GLM 5.3 Flash", "input": 0.037476, "output": 0.16, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "z-ai", "model": "z-ai/glm-5.3-flash:batch", "name": "Z.ai: GLM 5.3 Flash (batch)", "input": 0.05, "output": 0.18, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "meta", "model": "meta/muse-spark-1.2-contributor", "name": "Meta: Muse Spark 1.2 Contributor", "input": 0.1, "output": 0.2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "deepseek", "model": "deepseek/deepseek-v4-flash-vision-exp", "name": "DeepSeek: DeepSeek V4 Flash Vision Exp", "input": 0.2156, "output": 0.6468, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "tencent", "model": "tencent/hy-mt2-1.8b", "name": "Tencent: Hy-MT2-1.8B", "input": 0.044, "output": 0.177, "unit": "per_1m_tokens", "region": "other" }, { "provider": "tencent", "model": "tencent/hy-mt2-30b-a3b", "name": "Tencent: Hy-MT2-30B-A3B", "input": 0.074, "output": 0.295, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~z-ai", "model": "~z-ai/glm-latest", "name": "Z.ai: GLM Latest", "input": 0.079, "output": 1.4, "unit": "per_1m_tokens", "region": "other" }, { "provider": "tencent", "model": "tencent/hy-mt2-7b", "name": "Tencent: Hy-MT2-7B", "input": 0.074, "output": 0.295, "unit": "per_1m_tokens", "region": "other" }, { "provider": "z-ai", "model": "z-ai/glm-5.3", "name": "Z.ai: GLM 5.3", "input": 0.079, "output": 1.4, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "z-ai", "model": "z-ai/glm-5.3:batch", "name": "Z.ai: GLM 5.3 (batch)", "input": 0.45, "output": 2, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3.8-27b", "name": "Qwen: Qwen3.8 27B", "input": 0.04, "output": 1.35, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "dots-studio", "model": "dots-studio/dots-3-note-preview:free", "name": "Dots Studio: Dots3-Note Preview (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "google", "model": "google/gemini-3.7-flash", "name": "Google: Gemini 3.7 Flash", "input": 0.75, "output": 3.75, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-3.7-flash:batch", "name": "Google: Gemini 3.7 Flash (batch)", "input": 0.375, "output": 1.875, "unit": "per_1m_tokens", "region": "us" }, { "provider": "bytedance-seed", "model": "bytedance-seed/seed-2-1-turbo", "name": "ByteDance Seed: Seed 2.1 Turbo", "input": 0.5, "output": 2.5, "unit": "per_1m_tokens", "region": "other" }, { "provider": "qwen", "model": "qwen/qwen3.8-2.4t-a95b", "name": "Qwen: Qwen3.8 2.4T A95B", "input": 2, "output": 6, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "bytedance-seed", "model": "bytedance-seed/seed-2.0-code", "name": "ByteDance Seed: Seed-2.0-Code", "input": 0.5, "output": 3, "unit": "per_1m_tokens", "region": "other" }, { "provider": "deepseek", "model": "deepseek/deepseek-v4-pro-0813", "name": "DeepSeek: DeepSeek V4 Pro 0813", "input": 0.66, "output": 1.98, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "x-ai", "model": "x-ai/grok-4.6", "name": "SpaceXAI: Grok 4.6", "input": 2, "output": 6, "unit": "per_1m_tokens", "region": "us" }, { "provider": "liquid", "model": "liquid/lfm-2.5-2.6b:free", "name": "LiquidAI: LFM2.5-2.6B (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "nvidia", "model": "nvidia/nemotron-3.5-lightning", "name": "NVIDIA: Nemotron 3.5 Lightning", "input": 0.07, "output": 0.2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "nvidia", "model": "nvidia/nemotron-3.5-lightning:free", "name": "NVIDIA: Nemotron 3.5 Lightning (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "us" }, { "provider": "sakana", "model": "sakana/sakana-namazu", "name": "Sakana: Sakana Namazu", "input": 0.95, "output": 4, "unit": "per_1m_tokens", "region": "other" }, { "provider": "upstage", "model": "upstage/solar-pro4", "name": "Upstage: Solar Pro 4", "input": 0.15, "output": 0.6, "unit": "per_1m_tokens", "region": "other" }, { "provider": "meta", "model": "meta/muse-glimmer-30b", "name": "Meta: Muse Glimmer 30B", "input": 0.3, "output": 1.2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "meta", "model": "meta/muse-spark-1.2", "name": "Meta: Muse Spark 1.2", "input": 1.25, "output": 4.25, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~deepseek", "model": "~deepseek/deepseek-v4-flash-latest", "name": "DeepSeek: DeepSeek V4 Flash Latest", "input": 392e-5, "output": 0.12, "unit": "per_1m_tokens", "region": "other" }, { "provider": "deepseek", "model": "deepseek/deepseek-v4-flash-0731", "name": "DeepSeek: DeepSeek V4 Flash 0731", "input": 0.44, "output": 1.32, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "thinkingmachines", "model": "thinkingmachines/inkling-small", "name": "Thinking Machines: Inkling Small", "input": 0.45, "output": 1.2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "thinkingmachines", "model": "thinkingmachines/inkling-small:free", "name": "Thinking Machines: Inkling Small (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "qwen", "model": "qwen/qwen3.7-flash", "name": "Qwen: Qwen3.7 Flash", "input": 0.03, "output": 0.13, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "anthropic", "model": "anthropic/claude-opus-5", "name": "Anthropic: Claude Opus 5", "input": 5, "output": 25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-opus-5:batch", "name": "Anthropic: Claude Opus 5 (batch)", "input": 2.5, "output": 12.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "inclusionai", "model": "inclusionai/ling-3.0-flash", "name": "inclusionAI: Ling 3.0 Flash", "input": 0.021, "output": 0.063, "unit": "per_1m_tokens", "region": "other" }, { "provider": "poolside", "model": "poolside/laguna-s-2.1", "name": "Poolside: Laguna S 2.1", "input": 0.09, "output": 0.18, "unit": "per_1m_tokens", "region": "other" }, { "provider": "poolside", "model": "poolside/laguna-s-2.1:free", "name": "Poolside: Laguna S 2.1 (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "google", "model": "google/gemini-3.6-flash", "name": "Google: Gemini 3.6 Flash", "input": 0.75, "output": 3.75, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-3.6-flash:batch", "name": "Google: Gemini 3.6 Flash (batch)", "input": 0.375, "output": 1.875, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-3.5-flash-lite", "name": "Google: Gemini 3.5 Flash Lite", "input": 0.3, "output": 2.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-3.5-flash-lite:batch", "name": "Google: Gemini 3.5 Flash Lite (batch)", "input": 0.15, "output": 1.25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "meituan", "model": "meituan/longcat-2.0", "name": "Meituan: LongCat 2.0", "input": 0.3, "output": 1.2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "thinkingmachines", "model": "thinkingmachines/inkling", "name": "Thinking Machines: Inkling", "input": 1, "output": 4.05, "unit": "per_1m_tokens", "region": "other" }, { "provider": "thinkingmachines", "model": "thinkingmachines/inkling:free", "name": "Thinking Machines: Inkling (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "openrouter", "model": "openrouter/auto-beta", "name": "Auto Router (Beta)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "moonshotai", "model": "moonshotai/kimi-k3", "name": "MoonshotAI: Kimi K3", "input": 0.239, "output": 11.936, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "moonshotai", "model": "moonshotai/kimi-k3:batch", "name": "MoonshotAI: Kimi K3 (batch)", "input": 2.28, "output": 11.4, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "meta", "model": "meta/muse-spark-1.1", "name": "Meta: Muse Spark 1.1", "input": 1.25, "output": 4.25, "unit": "per_1m_tokens", "region": "other" }, { "provider": "openai", "model": "openai/gpt-5.6-luna-pro", "name": "OpenAI: GPT-5.6 Luna Pro", "input": 0.2, "output": 1.2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.6-luna-pro:batch", "name": "OpenAI: GPT-5.6 Luna Pro (batch)", "input": 0.1, "output": 0.6, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.6-luna", "name": "OpenAI: GPT-5.6 Luna", "input": 0.2, "output": 1.2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.6-luna:batch", "name": "OpenAI: GPT-5.6 Luna (batch)", "input": 0.1, "output": 0.6, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.6-terra-pro", "name": "OpenAI: GPT-5.6 Terra Pro", "input": 2, "output": 12, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.6-terra-pro:batch", "name": "OpenAI: GPT-5.6 Terra Pro (batch)", "input": 1, "output": 6, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.6-terra", "name": "OpenAI: GPT-5.6 Terra", "input": 2, "output": 12, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.6-terra:batch", "name": "OpenAI: GPT-5.6 Terra (batch)", "input": 1, "output": 6, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.6-sol-pro", "name": "OpenAI: GPT-5.6 Sol Pro", "input": 4, "output": 20, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.6-sol-pro:batch", "name": "OpenAI: GPT-5.6 Sol Pro (batch)", "input": 2, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.6-sol", "name": "OpenAI: GPT-5.6 Sol", "input": 4, "output": 20, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.6-sol:batch", "name": "OpenAI: GPT-5.6 Sol (batch)", "input": 2, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "x-ai", "model": "x-ai/grok-4.5", "name": "SpaceXAI: Grok 4.5", "input": 2, "output": 6, "unit": "per_1m_tokens", "region": "us" }, { "provider": "~x-ai", "model": "~x-ai/grok-latest", "name": "xAI: Grok Latest", "input": 2, "output": 6, "unit": "per_1m_tokens", "region": "other" }, { "provider": "aion-labs", "model": "aion-labs/aion-3.0-mini", "name": "AionLabs: Aion-3.0-Mini", "input": 0.7, "output": 1.4, "unit": "per_1m_tokens", "region": "other" }, { "provider": "aion-labs", "model": "aion-labs/aion-3.0", "name": "AionLabs: Aion-3.0", "input": 3, "output": 6, "unit": "per_1m_tokens", "region": "other" }, { "provider": "tencent", "model": "tencent/hy3", "name": "Tencent: Hy3", "input": 0.132, "output": 0.528, "unit": "per_1m_tokens", "region": "other" }, { "provider": "poolside", "model": "poolside/laguna-xs-2.1", "name": "Poolside: Laguna XS 2.1", "input": 0.06, "output": 0.12, "unit": "per_1m_tokens", "region": "other" }, { "provider": "poolside", "model": "poolside/laguna-xs-2.1:free", "name": "Poolside: Laguna XS 2.1 (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "anthropic", "model": "anthropic/claude-sonnet-5", "name": "Anthropic: Claude Sonnet 5", "input": 2, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-sonnet-5:batch", "name": "Anthropic: Claude Sonnet 5 (batch)", "input": 1, "output": 5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-3.1-flash-lite-image", "name": "Google: Nano Banana 2 Lite (Gemini 3.1 Flash Lite Image)", "input": 0.25, "output": 1.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "sakana", "model": "sakana/fugu-ultra", "name": "Sakana: Fugu Ultra", "input": 5, "output": 30, "unit": "per_1m_tokens", "region": "other" }, { "provider": "google", "model": "google/gemini-3.1-flash-image", "name": "Google: Nano Banana 2 (Gemini 3.1 Flash Image)", "input": 0.5, "output": 3, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-3-pro-image", "name": "Google: Nano Banana Pro (Gemini 3 Pro Image)", "input": 2, "output": 12, "unit": "per_1m_tokens", "region": "us" }, { "provider": "cohere", "model": "cohere/north-mini-code:free", "name": "Cohere: North Mini Code (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "us" }, { "provider": "z-ai", "model": "z-ai/glm-5.2", "name": "Z.ai: GLM 5.2", "input": 0.62, "output": 2.42, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openrouter", "model": "openrouter/fusion", "name": "OpenRouter: Fusion", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "moonshotai", "model": "moonshotai/kimi-k2.7-code", "name": "MoonshotAI: Kimi K2.7 Code", "input": 0.6712, "output": 3.35, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "~anthropic", "model": "~anthropic/claude-fable-latest", "name": "Anthropic: Claude Fable Latest", "input": 10, "output": 50, "unit": "per_1m_tokens", "region": "other" }, { "provider": "anthropic", "model": "anthropic/claude-fable-5", "name": "Anthropic: Claude Fable 5", "input": 10, "output": 50, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-fable-5:batch", "name": "Anthropic: Claude Fable 5 (batch)", "input": 5, "output": 25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "nvidia", "model": "nvidia/nemotron-3.5-content-safety", "name": "NVIDIA: Nemotron 3.5 Content Safety", "input": 0.2, "output": 0.2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "nvidia", "model": "nvidia/nemotron-3.5-content-safety:free", "name": "NVIDIA: Nemotron 3.5 Content Safety (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "us" }, { "provider": "nvidia", "model": "nvidia/nemotron-3-ultra-550b-a55b", "name": "NVIDIA: Nemotron 3 Ultra", "input": 0.6, "output": 2.4, "unit": "per_1m_tokens", "region": "us" }, { "provider": "nvidia", "model": "nvidia/nemotron-3-ultra-550b-a55b:free", "name": "NVIDIA: Nemotron 3 Ultra (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "us" }, { "provider": "qwen", "model": "qwen/qwen3.7-plus", "name": "Qwen: Qwen3.7 Plus", "input": 0.32, "output": 1.28, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3.7-plus:batch", "name": "Qwen: Qwen3.7 Plus (batch)", "input": 0.23, "output": 0.92, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "minimax", "model": "minimax/minimax-m3", "name": "MiniMax: MiniMax M3", "input": 0.3, "output": 1.2, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "stepfun", "model": "stepfun/step-3.7-flash", "name": "StepFun: Step 3.7 Flash", "input": 0.2, "output": 1.15, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "anthropic", "model": "anthropic/claude-opus-4.8", "name": "Anthropic: Claude Opus 4.8", "input": 5, "output": 25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-opus-4.8:batch", "name": "Anthropic: Claude Opus 4.8 (batch)", "input": 2.5, "output": 12.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "qwen", "model": "qwen/qwen3.7-max", "name": "Qwen: Qwen3.7 Max", "input": 1.475, "output": 4.425, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "x-ai", "model": "x-ai/grok-build-0.1", "name": "SpaceXAI: Grok Build 0.1", "input": 1, "output": 2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-3.5-flash", "name": "Google: Gemini 3.5 Flash", "input": 1.5, "output": 9, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-3.5-flash:batch", "name": "Google: Gemini 3.5 Flash (batch)", "input": 0.75, "output": 4.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "perceptron", "model": "perceptron/perceptron-mk1", "name": "Perceptron: Perceptron Mk1", "input": 0.15, "output": 1.5, "unit": "per_1m_tokens", "region": "other" }, { "provider": "google", "model": "google/gemini-3.1-flash-lite", "name": "Google: Gemini 3.1 Flash Lite", "input": 0.25, "output": 1.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-3.1-flash-lite:batch", "name": "Google: Gemini 3.1 Flash Lite (batch)", "input": 0.125, "output": 0.75, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-chat-latest", "name": "OpenAI: GPT Chat Latest", "input": 5, "output": 30, "unit": "per_1m_tokens", "region": "us" }, { "provider": "x-ai", "model": "x-ai/grok-4.3", "name": "SpaceXAI: Grok 4.3", "input": 1.25, "output": 2.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "x-ai", "model": "x-ai/grok-4.3:batch", "name": "SpaceXAI: Grok 4.3 (batch)", "input": 1, "output": 2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/mistral-medium-3-5", "name": "Mistral: Mistral Medium 3.5", "input": 1.5, "output": 7.5, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "mistralai", "model": "mistralai/mistral-medium-3-5:batch", "name": "Mistral: Mistral Medium 3.5 (batch)", "input": 0.75, "output": 3.75, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "nvidia", "model": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free", "name": "NVIDIA: Nemotron 3 Nano Omni (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "us" }, { "provider": "~anthropic", "model": "~anthropic/claude-haiku-latest", "name": "Anthropic: Claude Haiku Latest", "input": 0.1, "output": 0.5, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~openai", "model": "~openai/gpt-mini-latest", "name": "OpenAI: GPT Mini Latest", "input": 0.75, "output": 4.5, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~google", "model": "~google/gemini-pro-latest", "name": "Google: Gemini Pro Latest", "input": 2, "output": 10, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~moonshotai", "model": "~moonshotai/kimi-latest", "name": "MoonshotAI: Kimi Latest", "input": 0.238, "output": 16, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~google", "model": "~google/gemini-flash-latest", "name": "Google: Gemini Flash Latest", "input": 0.75, "output": 3.75, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~anthropic", "model": "~anthropic/claude-sonnet-latest", "name": "Anthropic: Claude Sonnet Latest", "input": 2, "output": 10, "unit": "per_1m_tokens", "region": "other" }, { "provider": "qwen", "model": "qwen/qwen3.5-plus-20260420", "name": "Qwen: Qwen3.5 Plus 2026-04-20", "input": 0.3, "output": 1.8, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3.6-flash", "name": "Qwen: Qwen3.6 Flash", "input": 0.1875, "output": 1.125, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3.6-35b-a3b", "name": "Qwen: Qwen3.6 35B A3B", "input": 0.1, "output": 0.95, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3.6-27b", "name": "Qwen: Qwen3.6 27B", "input": 0.25, "output": 2, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openai", "model": "openai/gpt-5.5-pro", "name": "OpenAI: GPT-5.5 Pro", "input": 30, "output": 180, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.5-pro:batch", "name": "OpenAI: GPT-5.5 Pro (batch)", "input": 15, "output": 90, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.5", "name": "OpenAI: GPT-5.5", "input": 5, "output": 30, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.5:batch", "name": "OpenAI: GPT-5.5 (batch)", "input": 2.5, "output": 15, "unit": "per_1m_tokens", "region": "us" }, { "provider": "deepseek", "model": "deepseek/deepseek-v4-pro", "name": "DeepSeek: DeepSeek V4 Pro 0423", "input": 0.95526, "output": 1.91052, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "deepseek", "model": "deepseek/deepseek-v4-flash", "name": "DeepSeek: DeepSeek V4 Flash 0423", "input": 0.091, "output": 0.182, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "tencent", "model": "tencent/hy3-preview", "name": "Tencent: Hy3 preview", "input": 0.18, "output": 0.6, "unit": "per_1m_tokens", "region": "other" }, { "provider": "xiaomi", "model": "xiaomi/mimo-v2.5-pro", "name": "Xiaomi: MiMo-V2.5-Pro", "input": 0.435, "output": 0.87, "unit": "per_1m_tokens", "region": "other" }, { "provider": "xiaomi", "model": "xiaomi/mimo-v2.5", "name": "Xiaomi: MiMo-V2.5", "input": 0.14, "output": 0.28, "unit": "per_1m_tokens", "region": "other" }, { "provider": "openai", "model": "openai/gpt-5.4-image-2", "name": "OpenAI: GPT-5.4 Image 2", "input": 8, "output": 15, "unit": "per_1m_tokens", "region": "us" }, { "provider": "~anthropic", "model": "~anthropic/claude-opus-latest", "name": "Anthropic: Claude Opus Latest", "input": 4, "output": 20, "unit": "per_1m_tokens", "region": "other" }, { "provider": "openrouter", "model": "openrouter/pareto-code", "name": "Pareto Code Router", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "moonshotai", "model": "moonshotai/kimi-k2.6", "name": "MoonshotAI: Kimi K2.6", "input": 0.65, "output": 3.41, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "anthropic", "model": "anthropic/claude-opus-4.7", "name": "Anthropic: Claude Opus 4.7", "input": 5, "output": 25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-opus-4.7:batch", "name": "Anthropic: Claude Opus 4.7 (batch)", "input": 2.5, "output": 12.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "z-ai", "model": "z-ai/glm-5.1", "name": "Z.ai: GLM 5.1", "input": 0.966, "output": 3.036, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "google", "model": "google/gemma-4-26b-a4b-it", "name": "Google: Gemma 4 26B A4B ", "input": 0.09, "output": 0.3, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemma-4-26b-a4b-it:free", "name": "Google: Gemma 4 26B A4B (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemma-4-31b-it", "name": "Google: Gemma 4 31B", "input": 0.2, "output": 0.4, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemma-4-31b-it:free", "name": "Google: Gemma 4 31B (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "us" }, { "provider": "qwen", "model": "qwen/qwen3.6-plus", "name": "Qwen: Qwen3.6 Plus", "input": 0.325, "output": 1.95, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "z-ai", "model": "z-ai/glm-5v-turbo", "name": "Z.ai: GLM 5V Turbo", "input": 1.2, "output": 4, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "arcee-ai", "model": "arcee-ai/trinity-large-thinking", "name": "Arcee AI: Trinity Large Thinking", "input": 0.25, "output": 0.8, "unit": "per_1m_tokens", "region": "other" }, { "provider": "x-ai", "model": "x-ai/grok-4.20-multi-agent", "name": "SpaceXAI: Grok 4.20 Multi-Agent", "input": 1.25, "output": 2.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "x-ai", "model": "x-ai/grok-4.20", "name": "SpaceXAI: Grok 4.20", "input": 1.25, "output": 2.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/lyria-3-pro-preview", "name": "Google: Lyria 3 Pro Preview", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/lyria-3-clip-preview", "name": "Google: Lyria 3 Clip Preview", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "us" }, { "provider": "rekaai", "model": "rekaai/reka-edge", "name": "Reka Edge", "input": 0.1, "output": 0.1, "unit": "per_1m_tokens", "region": "other" }, { "provider": "minimax", "model": "minimax/minimax-m2.7", "name": "MiniMax: MiniMax M2.7", "input": 0.3, "output": 1.2, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openai", "model": "openai/gpt-5.4-nano", "name": "OpenAI: GPT-5.4 Nano", "input": 0.2, "output": 1.25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.4-nano:batch", "name": "OpenAI: GPT-5.4 Nano (batch)", "input": 0.1, "output": 0.625, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.4-mini", "name": "OpenAI: GPT-5.4 Mini", "input": 0.75, "output": 4.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.4-mini:batch", "name": "OpenAI: GPT-5.4 Mini (batch)", "input": 0.375, "output": 2.25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/mistral-small-2603", "name": "Mistral: Mistral Small 4", "input": 0.15, "output": 0.6, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "mistralai", "model": "mistralai/mistral-small-2603:batch", "name": "Mistral: Mistral Small 4 (batch)", "input": 0.075, "output": 0.3, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "z-ai", "model": "z-ai/glm-5-turbo", "name": "Z.ai: GLM 5 Turbo", "input": 1.2, "output": 4, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "nvidia", "model": "nvidia/nemotron-3-super-120b-a12b", "name": "NVIDIA: Nemotron 3 Super", "input": 0.08, "output": 0.45, "unit": "per_1m_tokens", "region": "us" }, { "provider": "nvidia", "model": "nvidia/nemotron-3-super-120b-a12b:free", "name": "NVIDIA: Nemotron 3 Super (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "us" }, { "provider": "bytedance-seed", "model": "bytedance-seed/seed-2.0-lite", "name": "ByteDance Seed: Seed-2.0-Lite", "input": 0.25, "output": 2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "qwen", "model": "qwen/qwen3.5-9b", "name": "Qwen: Qwen3.5-9B", "input": 0.1, "output": 0.15, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openai", "model": "openai/gpt-5.4-pro", "name": "OpenAI: GPT-5.4 Pro", "input": 30, "output": 180, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.4-pro:batch", "name": "OpenAI: GPT-5.4 Pro (batch)", "input": 15, "output": 90, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.4", "name": "OpenAI: GPT-5.4", "input": 2.5, "output": 15, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.4:batch", "name": "OpenAI: GPT-5.4 (batch)", "input": 1.25, "output": 7.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "inception", "model": "inception/mercury-2", "name": "Inception: Mercury 2", "input": 0.25, "output": 0.75, "unit": "per_1m_tokens", "region": "other" }, { "provider": "google", "model": "google/gemini-3.1-flash-lite-preview", "name": "Google: Gemini 3.1 Flash Lite Preview", "input": 0.25, "output": 1.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "bytedance-seed", "model": "bytedance-seed/seed-2.0-mini", "name": "ByteDance Seed: Seed-2.0-Mini", "input": 0.1, "output": 0.4, "unit": "per_1m_tokens", "region": "other" }, { "provider": "google", "model": "google/gemini-3.1-flash-image-preview", "name": "Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)", "input": 0.5, "output": 3, "unit": "per_1m_tokens", "region": "us" }, { "provider": "qwen", "model": "qwen/qwen3.5-35b-a3b", "name": "Qwen: Qwen3.5-35B-A3B", "input": 0.15, "output": 1, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3.5-27b", "name": "Qwen: Qwen3.5-27B", "input": 0.27, "output": 2.16, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3.5-122b-a10b", "name": "Qwen: Qwen3.5-122B-A10B", "input": 0.26, "output": 2.08, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3.5-flash-02-23", "name": "Qwen: Qwen3.5-Flash", "input": 0.065, "output": 0.26, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "google", "model": "google/gemini-3.1-pro-preview-customtools", "name": "Google: Gemini 3.1 Pro Preview Custom Tools", "input": 2, "output": 12, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.3-codex", "name": "OpenAI: GPT-5.3-Codex", "input": 1.75, "output": 14, "unit": "per_1m_tokens", "region": "us" }, { "provider": "aion-labs", "model": "aion-labs/aion-2.0", "name": "AionLabs: Aion-2.0", "input": 0.8, "output": 1.6, "unit": "per_1m_tokens", "region": "other" }, { "provider": "google", "model": "google/gemini-3.1-pro-preview", "name": "Google: Gemini 3.1 Pro Preview", "input": 2, "output": 12, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-3.1-pro-preview:batch", "name": "Google: Gemini 3.1 Pro Preview (batch)", "input": 1, "output": 6, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-sonnet-4.6", "name": "Anthropic: Claude Sonnet 4.6", "input": 3, "output": 15, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-sonnet-4.6:batch", "name": "Anthropic: Claude Sonnet 4.6 (batch)", "input": 1.5, "output": 7.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "qwen", "model": "qwen/qwen3.5-plus-02-15", "name": "Qwen: Qwen3.5 Plus 2026-02-15", "input": 0.26, "output": 1.56, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3.5-397b-a17b", "name": "Qwen: Qwen3.5 397B A17B", "input": 0.39, "output": 2.34, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "minimax", "model": "minimax/minimax-m2.5", "name": "MiniMax: MiniMax M2.5", "input": 0.27, "output": 0.95, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "z-ai", "model": "z-ai/glm-5", "name": "Z.ai: GLM 5", "input": 0.6, "output": 1.92, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "anthropic", "model": "anthropic/claude-opus-4.6", "name": "Anthropic: Claude Opus 4.6", "input": 5, "output": 25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-opus-4.6:batch", "name": "Anthropic: Claude Opus 4.6 (batch)", "input": 2.5, "output": 12.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "qwen", "model": "qwen/qwen3-coder-next", "name": "Qwen: Qwen3 Coder Next", "input": 0.12, "output": 0.8, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openrouter", "model": "openrouter/free", "name": "Free Models Router", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "stepfun", "model": "stepfun/step-3.5-flash", "name": "StepFun: Step 3.5 Flash", "input": 0.1, "output": 0.3, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "moonshotai", "model": "moonshotai/kimi-k2.5", "name": "MoonshotAI: Kimi K2.5", "input": 0.5, "output": 2.5, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "upstage", "model": "upstage/solar-pro-3", "name": "Upstage: Solar Pro 3", "input": 0.15, "output": 0.6, "unit": "per_1m_tokens", "region": "other" }, { "provider": "minimax", "model": "minimax/minimax-m2-her", "name": "MiniMax: MiniMax M2-her", "input": 0.3, "output": 1.2, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "writer", "model": "writer/palmyra-x5", "name": "Writer: Palmyra X5", "input": 0.6, "output": 6, "unit": "per_1m_tokens", "region": "other" }, { "provider": "openai", "model": "openai/gpt-audio", "name": "OpenAI: GPT Audio", "input": 2.5, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-audio-mini", "name": "OpenAI: GPT Audio Mini", "input": 0.6, "output": 2.4, "unit": "per_1m_tokens", "region": "us" }, { "provider": "z-ai", "model": "z-ai/glm-4.7-flash", "name": "Z.ai: GLM 4.7 Flash", "input": 0.0605, "output": 0.4, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openai", "model": "openai/gpt-5.2-codex", "name": "OpenAI: GPT-5.2-Codex", "input": 1.75, "output": 14, "unit": "per_1m_tokens", "region": "us" }, { "provider": "bytedance-seed", "model": "bytedance-seed/seed-1.6-flash", "name": "ByteDance Seed: Seed 1.6 Flash", "input": 0.075, "output": 0.3, "unit": "per_1m_tokens", "region": "other" }, { "provider": "bytedance-seed", "model": "bytedance-seed/seed-1.6", "name": "ByteDance Seed: Seed 1.6", "input": 0.25, "output": 2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "minimax", "model": "minimax/minimax-m2.1", "name": "MiniMax: MiniMax M2.1", "input": 0.3, "output": 1.2, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "z-ai", "model": "z-ai/glm-4.7", "name": "Z.ai: GLM 4.7", "input": 0.54, "output": 1.98, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "google", "model": "google/gemini-3-flash-preview", "name": "Google: Gemini 3 Flash Preview", "input": 0.5, "output": 3, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-3-flash-preview:batch", "name": "Google: Gemini 3 Flash Preview (batch)", "input": 0.25, "output": 1.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "nvidia", "model": "nvidia/nemotron-3-nano-30b-a3b", "name": "NVIDIA: Nemotron 3 Nano 30B A3B", "input": 0.06, "output": 0.24, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.2-chat", "name": "OpenAI: GPT-5.2 Chat", "input": 1.75, "output": 14, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.2-pro", "name": "OpenAI: GPT-5.2 Pro", "input": 21, "output": 168, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.2-pro:batch", "name": "OpenAI: GPT-5.2 Pro (batch)", "input": 10.5, "output": 84, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.2", "name": "OpenAI: GPT-5.2", "input": 1.75, "output": 14, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.2:batch", "name": "OpenAI: GPT-5.2 (batch)", "input": 0.875, "output": 7, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/devstral-2512", "name": "Mistral: Devstral 2 2512", "input": 0.4, "output": 2, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "relace", "model": "relace/relace-search", "name": "Relace: Relace Search", "input": 1, "output": 3, "unit": "per_1m_tokens", "region": "other" }, { "provider": "z-ai", "model": "z-ai/glm-4.6v", "name": "Z.ai: GLM 4.6V", "input": 0.3, "output": 0.9, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openrouter", "model": "openrouter/bodybuilder", "name": "Body Builder (beta)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "openai", "model": "openai/gpt-5.1-codex-max", "name": "OpenAI: GPT-5.1-Codex-Max", "input": 1.25, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "amazon", "model": "amazon/nova-2-lite-v1", "name": "Amazon: Nova 2 Lite", "input": 0.3, "output": 2.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/ministral-14b-2512", "name": "Mistral: Ministral 3 14B 2512", "input": 0.2, "output": 0.2, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "mistralai", "model": "mistralai/ministral-8b-2512", "name": "Mistral: Ministral 3 8B 2512", "input": 0.15, "output": 0.15, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "mistralai", "model": "mistralai/ministral-8b-2512:batch", "name": "Mistral: Ministral 3 8B 2512 (batch)", "input": 0.075, "output": 0.075, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "mistralai", "model": "mistralai/ministral-3b-2512", "name": "Mistral: Ministral 3 3B 2512", "input": 0.1, "output": 0.1, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "mistralai", "model": "mistralai/mistral-large-2512", "name": "Mistral: Mistral Large 3 2512", "input": 0.5, "output": 1.5, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "mistralai", "model": "mistralai/mistral-large-2512:batch", "name": "Mistral: Mistral Large 3 2512 (batch)", "input": 0.25, "output": 0.75, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "deepseek", "model": "deepseek/deepseek-v3.2", "name": "DeepSeek: DeepSeek V3.2", "input": 0.28, "output": 0.42, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "anthropic", "model": "anthropic/claude-opus-4.5", "name": "Anthropic: Claude Opus 4.5", "input": 5, "output": 25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-opus-4.5:batch", "name": "Anthropic: Claude Opus 4.5 (batch)", "input": 2.5, "output": 12.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-3-pro-image-preview", "name": "Google: Nano Banana Pro (Gemini 3 Pro Image Preview)", "input": 2, "output": 12, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.1", "name": "OpenAI: GPT-5.1", "input": 1.25, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.1:batch", "name": "OpenAI: GPT-5.1 (batch)", "input": 0.625, "output": 5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.1-codex", "name": "OpenAI: GPT-5.1-Codex", "input": 1.25, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.1-codex-mini", "name": "OpenAI: GPT-5.1-Codex-Mini", "input": 0.25, "output": 2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "moonshotai", "model": "moonshotai/kimi-k2-thinking", "name": "MoonshotAI: Kimi K2 Thinking", "input": 0.6, "output": 2.5, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "amazon", "model": "amazon/nova-premier-v1", "name": "Amazon: Nova Premier 1.0", "input": 2.5, "output": 12.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "perplexity", "model": "perplexity/sonar-pro-search", "name": "Perplexity: Sonar Pro Search", "input": 3, "output": 15, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/voxtral-small-24b-2507", "name": "Mistral: Voxtral Small 24B 2507", "input": 0.1, "output": 0.3, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "openai", "model": "openai/gpt-oss-safeguard-20b", "name": "OpenAI: gpt-oss-safeguard-20b", "input": 0.075, "output": 0.3, "unit": "per_1m_tokens", "region": "us" }, { "provider": "minimax", "model": "minimax/minimax-m2", "name": "MiniMax: MiniMax M2", "input": 0.255, "output": 1.02, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "ibm-granite", "model": "ibm-granite/granite-4.0-h-micro", "name": "IBM: Granite 4.0 Micro", "input": 0.017, "output": 0.112, "unit": "per_1m_tokens", "region": "other" }, { "provider": "openai", "model": "openai/gpt-5-image-mini", "name": "OpenAI: GPT-5 Image Mini", "input": 2.5, "output": 2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-haiku-4.5", "name": "Anthropic: Claude Haiku 4.5", "input": 1, "output": 5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-haiku-4.5:batch", "name": "Anthropic: Claude Haiku 4.5 (batch)", "input": 0.5, "output": 2.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "qwen", "model": "qwen/qwen3-vl-8b-instruct", "name": "Qwen: Qwen3 VL 8B Instruct", "input": 0.25, "output": 0.75, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openai", "model": "openai/gpt-5-image", "name": "OpenAI: GPT-5 Image", "input": 10, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-2.5-flash-image", "name": "Google: Nano Banana (Gemini 2.5 Flash Image)", "input": 0.3, "output": 2.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "qwen", "model": "qwen/qwen3-vl-30b-a3b-thinking", "name": "Qwen: Qwen3 VL 30B A3B Thinking", "input": 0.29, "output": 1, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3-vl-30b-a3b-instruct", "name": "Qwen: Qwen3 VL 30B A3B Instruct", "input": 0.15, "output": 0.6, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openai", "model": "openai/gpt-5-pro", "name": "OpenAI: GPT-5 Pro", "input": 15, "output": 120, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5-pro:batch", "name": "OpenAI: GPT-5 Pro (batch)", "input": 7.5, "output": 60, "unit": "per_1m_tokens", "region": "us" }, { "provider": "z-ai", "model": "z-ai/glm-4.6", "name": "Z.ai: GLM 4.6", "input": 0.55, "output": 2.2, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "anthropic", "model": "anthropic/claude-sonnet-4.5", "name": "Anthropic: Claude Sonnet 4.5", "input": 3, "output": 15, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-sonnet-4.5:batch", "name": "Anthropic: Claude Sonnet 4.5 (batch)", "input": 1.5, "output": 7.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "deepseek", "model": "deepseek/deepseek-v3.2-exp", "name": "DeepSeek: DeepSeek V3.2 Exp", "input": 0.27, "output": 0.41, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "thedrummer", "model": "thedrummer/cydonia-24b-v4.1", "name": "TheDrummer: Cydonia 24B V4.1", "input": 0.3, "output": 0.5, "unit": "per_1m_tokens", "region": "other" }, { "provider": "relace", "model": "relace/relace-apply-3", "name": "Relace: Relace Apply 3", "input": 0.85, "output": 1.25, "unit": "per_1m_tokens", "region": "other" }, { "provider": "qwen", "model": "qwen/qwen3-vl-235b-a22b-instruct", "name": "Qwen: Qwen3 VL 235B A22B Instruct", "input": 0.21, "output": 1.9, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "deepseek", "model": "deepseek/deepseek-v3.1-terminus", "name": "DeepSeek: DeepSeek V3.1 Terminus", "input": 0.27, "output": 1, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3-coder-flash", "name": "Qwen: Qwen3 Coder Flash", "input": 0.195, "output": 0.975, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3-next-80b-a3b-thinking", "name": "Qwen: Qwen3 Next 80B A3B Thinking", "input": 0.15, "output": 1.2, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3-next-80b-a3b-instruct", "name": "Qwen: Qwen3 Next 80B A3B Instruct", "input": 0.09, "output": 1.1, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "moonshotai", "model": "moonshotai/kimi-k2-0905", "name": "MoonshotAI: Kimi K2 0905", "input": 0.6, "output": 2.5, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "nousresearch", "model": "nousresearch/hermes-4-405b", "name": "Nous: Hermes 4 405B", "input": 1, "output": 3, "unit": "per_1m_tokens", "region": "other" }, { "provider": "deepseek", "model": "deepseek/deepseek-chat-v3.1", "name": "DeepSeek: DeepSeek V3.1", "input": 0.25, "output": 0.95, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "mistralai", "model": "mistralai/mistral-medium-3.1", "name": "Mistral: Mistral Medium 3.1", "input": 0.4, "output": 2, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "mistralai", "model": "mistralai/mistral-medium-3.1:batch", "name": "Mistral: Mistral Medium 3.1 (batch)", "input": 0.2, "output": 1, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "z-ai", "model": "z-ai/glm-4.5v", "name": "Z.ai: GLM 4.5V", "input": 0.6, "output": 1.8, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openai", "model": "openai/gpt-5", "name": "OpenAI: GPT-5", "input": 1.25, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5:batch", "name": "OpenAI: GPT-5 (batch)", "input": 0.625, "output": 5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5-mini", "name": "OpenAI: GPT-5 Mini", "input": 0.25, "output": 2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5-mini:batch", "name": "OpenAI: GPT-5 Mini (batch)", "input": 0.125, "output": 1, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5-nano", "name": "OpenAI: GPT-5 Nano", "input": 0.05, "output": 0.4, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5-nano:batch", "name": "OpenAI: GPT-5 Nano (batch)", "input": 0.025, "output": 0.2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-oss-120b", "name": "OpenAI: gpt-oss-120b", "input": 0.15, "output": 0.6, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-oss-120b:batch", "name": "OpenAI: gpt-oss-120b (batch)", "input": 0.0296, "output": 0.136, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-oss-20b", "name": "OpenAI: gpt-oss-20b", "input": 0.018, "output": 0.09, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-oss-20b:batch", "name": "OpenAI: gpt-oss-20b (batch)", "input": 0.024, "output": 0.112, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-opus-4.1", "name": "Anthropic: Claude Opus 4.1", "input": 15, "output": 75, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-opus-4.1:batch", "name": "Anthropic: Claude Opus 4.1 (batch)", "input": 7.5, "output": 37.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/codestral-2508", "name": "Mistral: Codestral 2508", "input": 0.3, "output": 0.9, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "mistralai", "model": "mistralai/codestral-2508:batch", "name": "Mistral: Codestral 2508 (batch)", "input": 0.15, "output": 0.45, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "qwen", "model": "qwen/qwen3-coder-30b-a3b-instruct", "name": "Qwen: Qwen3 Coder 30B A3B Instruct", "input": 0.07, "output": 0.28, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3-30b-a3b-instruct-2507", "name": "Qwen: Qwen3 30B A3B Instruct 2507", "input": 0.09, "output": 0.3, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "z-ai", "model": "z-ai/glm-4.5", "name": "Z.ai: GLM 4.5", "input": 0.6, "output": 2.2, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "z-ai", "model": "z-ai/glm-4.5-air", "name": "Z.ai: GLM 4.5 Air", "input": 0.13, "output": 0.85, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3-235b-a22b-thinking-2507", "name": "Qwen: Qwen3 235B A22B Thinking 2507", "input": 0.45, "output": 3.5, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3-coder", "name": "Qwen: Qwen3 Coder 480B A35B", "input": 0.3, "output": 1, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "bytedance", "model": "bytedance/ui-tars-1.5-7b", "name": "ByteDance: UI-TARS 7B ", "input": 0.1, "output": 0.2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "google", "model": "google/gemini-2.5-flash-lite", "name": "Google: Gemini 2.5 Flash Lite", "input": 0.1, "output": 0.4, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-2.5-flash-lite:batch", "name": "Google: Gemini 2.5 Flash Lite (batch)", "input": 0.05, "output": 0.2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "qwen", "model": "qwen/qwen3-235b-a22b-2507", "name": "Qwen: Qwen3 235B A22B Instruct 2507", "input": 0.09, "output": 0.55, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "moonshotai", "model": "moonshotai/kimi-k2", "name": "MoonshotAI: Kimi K2 0711", "input": 0.57, "output": 2.3, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "cognitivecomputations", "model": "cognitivecomputations/dolphin-mistral-24b-venice-edition", "name": "Venice: Uncensored", "input": 0.2, "output": 0.9, "unit": "per_1m_tokens", "region": "other" }, { "provider": "tencent", "model": "tencent/hunyuan-a13b-instruct", "name": "Tencent: Hunyuan A13B Instruct", "input": 0.14, "output": 0.57, "unit": "per_1m_tokens", "region": "other" }, { "provider": "morph", "model": "morph/morph-v3-large", "name": "Morph: Morph V3 Large", "input": 0.9, "output": 1.9, "unit": "per_1m_tokens", "region": "other" }, { "provider": "morph", "model": "morph/morph-v3-fast", "name": "Morph: Morph V3 Fast", "input": 0.8, "output": 1.2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "mistralai", "model": "mistralai/mistral-small-3.2-24b-instruct", "name": "Mistral: Mistral Small 3.2 24B", "input": 0.09375, "output": 0.25, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "minimax", "model": "minimax/minimax-m1", "name": "MiniMax: MiniMax M1", "input": 0.55, "output": 2.2, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "google", "model": "google/gemini-2.5-flash", "name": "Google: Gemini 2.5 Flash", "input": 0.3, "output": 2.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-2.5-flash:batch", "name": "Google: Gemini 2.5 Flash (batch)", "input": 0.15, "output": 1.25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-2.5-pro", "name": "Google: Gemini 2.5 Pro", "input": 1.25, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-2.5-pro:batch", "name": "Google: Gemini 2.5 Pro (batch)", "input": 0.625, "output": 5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/o3-pro", "name": "OpenAI: o3 Pro", "input": 20, "output": 80, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-2.5-pro-preview", "name": "Google: Gemini 2.5 Pro Preview 06-05", "input": 1.25, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "deepseek", "model": "deepseek/deepseek-r1-0528", "name": "DeepSeek: R1 0528", "input": 0.5, "output": 2.15, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "mistralai", "model": "mistralai/mistral-medium-3", "name": "Mistral: Mistral Medium 3", "input": 0.4, "output": 2, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "meta-llama", "model": "meta-llama/llama-guard-4-12b", "name": "Meta: Llama Guard 4 12B", "input": 0.18, "output": 0.18, "unit": "per_1m_tokens", "region": "us" }, { "provider": "qwen", "model": "qwen/qwen3-30b-a3b", "name": "Qwen: Qwen3 30B A3B", "input": 0.12, "output": 0.5, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3-14b", "name": "Qwen: Qwen3 14B", "input": 0.12, "output": 0.24, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3-32b", "name": "Qwen: Qwen3 32B", "input": 0.08, "output": 0.28, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openai", "model": "openai/o4-mini-high", "name": "OpenAI: o4 Mini High", "input": 1.1, "output": 4.4, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/o3", "name": "OpenAI: o3", "input": 2, "output": 8, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/o3:batch", "name": "OpenAI: o3 (batch)", "input": 1, "output": 4, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/o4-mini", "name": "OpenAI: o4 Mini", "input": 1.1, "output": 4.4, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/o4-mini:batch", "name": "OpenAI: o4 Mini (batch)", "input": 0.55, "output": 2.2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4.1", "name": "OpenAI: GPT-4.1", "input": 2, "output": 8, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4.1:batch", "name": "OpenAI: GPT-4.1 (batch)", "input": 1, "output": 4, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4.1-mini", "name": "OpenAI: GPT-4.1 Mini", "input": 0.4, "output": 1.6, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4.1-mini:batch", "name": "OpenAI: GPT-4.1 Mini (batch)", "input": 0.2, "output": 0.8, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4.1-nano", "name": "OpenAI: GPT-4.1 Nano", "input": 0.1, "output": 0.4, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4.1-nano:batch", "name": "OpenAI: GPT-4.1 Nano (batch)", "input": 0.05, "output": 0.2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "meta-llama", "model": "meta-llama/llama-4-maverick", "name": "Meta: Llama 4 Maverick", "input": 0.1875, "output": 0.6525, "unit": "per_1m_tokens", "region": "us" }, { "provider": "meta-llama", "model": "meta-llama/llama-4-scout", "name": "Meta: Llama 4 Scout", "input": 0.1, "output": 0.3, "unit": "per_1m_tokens", "region": "us" }, { "provider": "deepseek", "model": "deepseek/deepseek-chat-v3-0324", "name": "DeepSeek: DeepSeek V3 0324", "input": 0.29, "output": 1.14, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openai", "model": "openai/o1-pro", "name": "OpenAI: o1-pro", "input": 150, "output": 600, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/mistral-small-3.1-24b-instruct", "name": "Mistral: Mistral Small 3.1 24B", "input": 0.351, "output": 0.555, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "google", "model": "google/gemma-3-4b-it", "name": "Google: Gemma 3 4B", "input": 0.04, "output": 0.05, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemma-3-12b-it", "name": "Google: Gemma 3 12B", "input": 0.05, "output": 0.15, "unit": "per_1m_tokens", "region": "us" }, { "provider": "cohere", "model": "cohere/command-a", "name": "Cohere: Command A", "input": 2.5, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "rekaai", "model": "rekaai/reka-flash-3", "name": "Reka Flash 3", "input": 0.1, "output": 0.2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "google", "model": "google/gemma-3-27b-it", "name": "Google: Gemma 3 27B", "input": 0.08, "output": 0.35, "unit": "per_1m_tokens", "region": "us" }, { "provider": "thedrummer", "model": "thedrummer/skyfall-36b-v2", "name": "TheDrummer: Skyfall 36B V2", "input": 0.55, "output": 0.8, "unit": "per_1m_tokens", "region": "other" }, { "provider": "perplexity", "model": "perplexity/sonar-reasoning-pro", "name": "Perplexity: Sonar Reasoning Pro", "input": 2, "output": 8, "unit": "per_1m_tokens", "region": "us" }, { "provider": "perplexity", "model": "perplexity/sonar-pro", "name": "Perplexity: Sonar Pro", "input": 3, "output": 15, "unit": "per_1m_tokens", "region": "us" }, { "provider": "perplexity", "model": "perplexity/sonar-deep-research", "name": "Perplexity: Sonar Deep Research", "input": 2, "output": 8, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/mistral-saba", "name": "Mistral: Saba", "input": 0.2, "output": 0.6, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "openai", "model": "openai/o3-mini-high", "name": "OpenAI: o3 Mini High", "input": 1.1, "output": 4.4, "unit": "per_1m_tokens", "region": "us" }, { "provider": "aion-labs", "model": "aion-labs/aion-rp-llama-3.1-8b", "name": "AionLabs: Aion-RP 1.0 (8B)", "input": 0.8, "output": 1.6, "unit": "per_1m_tokens", "region": "other" }, { "provider": "qwen", "model": "qwen/qwen2.5-vl-72b-instruct", "name": "Qwen: Qwen2.5 VL 72B Instruct", "input": 0.8, "output": 1, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen-plus", "name": "Qwen: Qwen-Plus", "input": 0.26, "output": 0.78, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openai", "model": "openai/o3-mini", "name": "OpenAI: o3 Mini", "input": 1.1, "output": 4.4, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/o3-mini:batch", "name": "OpenAI: o3 Mini (batch)", "input": 0.55, "output": 2.2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/mistral-small-24b-instruct-2501", "name": "Mistral: Mistral Small 3", "input": 0.05, "output": 0.08, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "perplexity", "model": "perplexity/sonar", "name": "Perplexity: Sonar", "input": 1, "output": 1, "unit": "per_1m_tokens", "region": "us" }, { "provider": "minimax", "model": "minimax/minimax-01", "name": "MiniMax: MiniMax-01", "input": 0.2, "output": 1.1, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "microsoft", "model": "microsoft/phi-4", "name": "Microsoft: Phi 4", "input": 0.07, "output": 0.14, "unit": "per_1m_tokens", "region": "us" }, { "provider": "deepseek", "model": "deepseek/deepseek-chat", "name": "DeepSeek: DeepSeek V3", "input": 0.2574, "output": 1.0287, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openai", "model": "openai/o1", "name": "OpenAI: o1", "input": 15, "output": 60, "unit": "per_1m_tokens", "region": "us" }, { "provider": "cohere", "model": "cohere/command-r7b-12-2024", "name": "Cohere: Command R7B (12-2024)", "input": 0.0375, "output": 0.15, "unit": "per_1m_tokens", "region": "us" }, { "provider": "meta-llama", "model": "meta-llama/llama-3.3-70b-instruct", "name": "Meta: Llama 3.3 70B Instruct", "input": 0.1, "output": 0.32, "unit": "per_1m_tokens", "region": "us" }, { "provider": "amazon", "model": "amazon/nova-lite-v1", "name": "Amazon: Nova Lite 1.0", "input": 0.06, "output": 0.24, "unit": "per_1m_tokens", "region": "us" }, { "provider": "amazon", "model": "amazon/nova-micro-v1", "name": "Amazon: Nova Micro 1.0", "input": 0.035, "output": 0.14, "unit": "per_1m_tokens", "region": "us" }, { "provider": "amazon", "model": "amazon/nova-pro-v1", "name": "Amazon: Nova Pro 1.0", "input": 0.8, "output": 3.2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4o-2024-11-20", "name": "OpenAI: GPT-4o (2024-11-20)", "input": 2.5, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/mistral-large-2407", "name": "Mistral Large 2407", "input": 2, "output": 6, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "qwen", "model": "qwen/qwen-2.5-coder-32b-instruct", "name": "Qwen2.5 Coder 32B Instruct", "input": 0.66, "output": 1, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "thedrummer", "model": "thedrummer/unslopnemo-12b", "name": "TheDrummer: UnslopNemo 12B", "input": 0.4, "output": 0.4, "unit": "per_1m_tokens", "region": "other" }, { "provider": "anthracite-org", "model": "anthracite-org/magnum-v4-72b", "name": "Magnum v4 72B", "input": 2.5, "output": 5, "unit": "per_1m_tokens", "region": "other" }, { "provider": "qwen", "model": "qwen/qwen-2.5-7b-instruct", "name": "Qwen: Qwen2.5 7B Instruct", "input": 0.1, "output": 0.2, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "meta-llama", "model": "meta-llama/llama-3.2-1b-instruct", "name": "Meta: Llama 3.2 1B Instruct", "input": 0.027, "output": 0.201, "unit": "per_1m_tokens", "region": "us" }, { "provider": "meta-llama", "model": "meta-llama/llama-3.2-3b-instruct", "name": "Meta: Llama 3.2 3B Instruct", "input": 0.0509, "output": 0.335, "unit": "per_1m_tokens", "region": "us" }, { "provider": "qwen", "model": "qwen/qwen-2.5-72b-instruct", "name": "Qwen2.5 72B Instruct", "input": 0.36, "output": 0.4, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "cohere", "model": "cohere/command-r-08-2024", "name": "Cohere: Command R (08-2024)", "input": 0.15, "output": 0.6, "unit": "per_1m_tokens", "region": "us" }, { "provider": "cohere", "model": "cohere/command-r-plus-08-2024", "name": "Cohere: Command R+ (08-2024)", "input": 2.5, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "sao10k", "model": "sao10k/l3.1-euryale-70b", "name": "Sao10K: Llama 3.1 Euryale 70B v2.2", "input": 0.85, "output": 0.85, "unit": "per_1m_tokens", "region": "other" }, { "provider": "nousresearch", "model": "nousresearch/hermes-3-llama-3.1-70b", "name": "Nous: Hermes 3 70B Instruct", "input": 0.7, "output": 0.7, "unit": "per_1m_tokens", "region": "other" }, { "provider": "nousresearch", "model": "nousresearch/hermes-3-llama-3.1-405b", "name": "Nous: Hermes 3 405B Instruct", "input": 1, "output": 1, "unit": "per_1m_tokens", "region": "other" }, { "provider": "sao10k", "model": "sao10k/l3-lunaris-8b", "name": "Sao10K: Llama 3 8B Lunaris", "input": 0.04, "output": 0.05, "unit": "per_1m_tokens", "region": "other" }, { "provider": "openai", "model": "openai/gpt-4o-2024-08-06", "name": "OpenAI: GPT-4o (2024-08-06)", "input": 2.5, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "meta-llama", "model": "meta-llama/llama-3.1-70b-instruct", "name": "Meta: Llama 3.1 70B Instruct", "input": 0.4, "output": 0.4, "unit": "per_1m_tokens", "region": "us" }, { "provider": "meta-llama", "model": "meta-llama/llama-3.1-8b-instruct", "name": "Meta: Llama 3.1 8B Instruct", "input": 0.05, "output": 0.08, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/mistral-nemo", "name": "Mistral: Mistral Nemo", "input": 0.029, "output": 0.03, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "openai", "model": "openai/gpt-4o-mini", "name": "OpenAI: GPT-4o-mini", "input": 0.15, "output": 0.6, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4o-mini-2024-07-18", "name": "OpenAI: GPT-4o-mini (2024-07-18)", "input": 0.15, "output": 0.6, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4o-mini:batch", "name": "OpenAI: GPT-4o-mini (batch)", "input": 0.075, "output": 0.3, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemma-2-27b-it", "name": "Google: Gemma 2 27B", "input": 0.65, "output": 0.65, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4o", "name": "OpenAI: GPT-4o", "input": 2.5, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4o-2024-05-13", "name": "OpenAI: GPT-4o (2024-05-13)", "input": 5, "output": 15, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4o:batch", "name": "OpenAI: GPT-4o (batch)", "input": 1.25, "output": 5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/mixtral-8x22b-instruct", "name": "Mistral: Mixtral 8x22B Instruct", "input": 2, "output": 6, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "openai", "model": "openai/gpt-4-turbo", "name": "OpenAI: GPT-4 Turbo", "input": 10, "output": 30, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4-turbo:batch", "name": "OpenAI: GPT-4 Turbo (batch)", "input": 5, "output": 15, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/mistral-large", "name": "Mistral Large", "input": 2, "output": 6, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "openai", "model": "openai/gpt-3.5-turbo-0613", "name": "OpenAI: GPT-3.5 Turbo (older v0613)", "input": 1, "output": 2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openrouter", "model": "openrouter/auto", "name": "Auto Router", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "other" }, { "provider": "openai", "model": "openai/gpt-3.5-turbo-instruct", "name": "OpenAI: GPT-3.5 Turbo Instruct", "input": 1.5, "output": 2, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-3.5-turbo-16k", "name": "OpenAI: GPT-3.5 Turbo 16k", "input": 3, "output": 4, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mancer", "model": "mancer/weaver", "name": "Mancer: Weaver (alpha)", "input": 0.4, "output": 0.75, "unit": "per_1m_tokens", "region": "other" }, { "provider": "undi95", "model": "undi95/remm-slerp-l2-13b", "name": "ReMM SLERP 13B", "input": 0.35, "output": 0.65, "unit": "per_1m_tokens", "region": "other" }, { "provider": "gryphe", "model": "gryphe/mythomax-l2-13b", "name": "MythoMax 13B", "input": 0.08, "output": 0.11, "unit": "per_1m_tokens", "region": "other" }, { "provider": "openai", "model": "openai/gpt-3.5-turbo", "name": "OpenAI: GPT-3.5 Turbo", "input": 0.5, "output": 1.5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-3.5-turbo:batch", "name": "OpenAI: GPT-3.5 Turbo (batch)", "input": 0.25, "output": 0.75, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4", "name": "OpenAI: GPT-4", "input": 30, "output": 60, "unit": "per_1m_tokens", "region": "us" }];
111
-
112
- // src/catalogue/pricing-api.ts
113
- var basename = (id) => {
114
- let s = id.toLowerCase();
115
- const colon = s.lastIndexOf(":");
116
- if (colon >= 0) s = s.slice(colon + 1);
117
- const slash = s.lastIndexOf("/");
118
- if (slash >= 0) s = s.slice(slash + 1);
119
- return s;
120
- };
121
- function regionForProvider(provider) {
122
- switch (provider) {
123
- case "mistral":
124
- case "mistralai":
125
- return "eu";
126
- case "deepseek":
127
- return "cn";
128
- case "anthropic":
129
- case "openai":
130
- case "google":
131
- case "x-ai":
132
- case "meta-llama":
133
- return "us";
134
- default:
135
- return "other";
136
- }
137
- }
138
- var _media = null;
139
- function ensureMedia() {
140
- if (_media) return _media;
141
- const m = /* @__PURE__ */ new Map();
142
- for (const [key, p] of Object.entries(MEDIA_PRICING)) {
143
- const ci = key.indexOf(":");
144
- const provider = ci >= 0 ? key.slice(0, ci) : "";
145
- const model = ci >= 0 ? key.slice(ci + 1) : key;
146
- const row = {
147
- provider,
148
- model,
149
- unit: p.unit,
150
- usd: p.usd,
151
- checkedAt: p.checkedAt,
152
- region: regionForProvider(provider),
153
- source: "curated"
154
- };
155
- if (row.unit === "per_sec") row.perSec = row.usd;
156
- if (row.unit === "per_image") row.perImage = row.usd;
157
- if (!m.has(model.toLowerCase())) m.set(model.toLowerCase(), row);
158
- m.set(key.toLowerCase(), row);
159
- }
160
- _media = m;
161
- return m;
162
- }
163
- function listMediaPrices() {
164
- return [...new Set(ensureMedia().values())];
165
- }
166
- var _list = null;
167
- var _full = null;
168
- var _base = null;
169
- function ensure() {
170
- warnIfPricingStale();
171
- if (_list) return;
172
- const list = [];
173
- const byBase = /* @__PURE__ */ new Map();
174
- for (const r of PRICING_DATA) {
175
- const e = {
176
- provider: r.provider,
177
- model: r.model,
178
- name: r.name,
179
- inputPer1M: r.input,
180
- outputPer1M: r.output,
181
- unit: "per_1m_tokens",
182
- region: ["eu", "us", "cn", "other"].includes(r.region) ? r.region : "other",
183
- source: "inventory"
184
- };
185
- list.push(e);
186
- byBase.set(basename(r.model), e);
187
- }
188
- for (const [key, p] of Object.entries(PRICING)) {
189
- const ci = key.indexOf(":");
190
- const provider = ci >= 0 ? key.slice(0, ci) : "";
191
- const modelPart = ci >= 0 ? key.slice(ci + 1) : key;
192
- const existing = byBase.get(basename(modelPart));
193
- if (existing) {
194
- existing.inputPer1M = p.inputPer1M;
195
- existing.outputPer1M = p.outputPer1M;
196
- existing.unit = "per_1m_tokens";
197
- existing.source = "curated";
198
- } else {
199
- const e = {
200
- provider,
201
- model: modelPart,
202
- inputPer1M: p.inputPer1M,
203
- outputPer1M: p.outputPer1M,
204
- unit: "per_1m_tokens",
205
- region: regionForProvider(provider),
206
- source: "curated"
207
- };
208
- list.push(e);
209
- byBase.set(basename(modelPart), e);
210
- }
211
- }
212
- _list = list;
213
- _base = byBase;
214
- _full = new Map(list.map((e) => [e.model.toLowerCase(), e]));
215
- for (const [key, mp] of Object.entries(MEDIA_PRICING)) {
216
- const model = key.slice(key.indexOf(":") + 1).toLowerCase();
217
- const tok = _full.get(model) ?? byBase.get(basename(model));
218
- if (tok) tok.alsoBilled = { unit: mp.unit, usd: mp.usd, checkedAt: mp.checkedAt };
219
- }
220
- }
221
- function getModelPrice(modelId) {
222
- ensure();
223
- const s = modelId.trim().toLowerCase();
224
- const dated = stripDatedSuffix(s);
225
- const media = ensureMedia();
226
- return _full.get(s) ?? (s.includes(":") ? _full.get(s.slice(s.indexOf(":") + 1)) : void 0) ?? _base.get(basename(s)) ?? (dated !== s ? _full.get(dated) ?? _base.get(basename(dated)) : void 0) ?? // Media LAST, so a token model never loses its own row to a media id collision.
227
- // Before F050 this returned undefined for every video model, which a caller could
228
- // not tell apart from "we have no price for that anywhere".
229
- media.get(s) ?? (s.includes(":") ? media.get(s.slice(s.indexOf(":") + 1)) : void 0);
230
- }
231
- function listModelPrices() {
232
- ensure();
233
- return _list.slice();
234
- }
235
- function findModelPrices(filter = {}) {
236
- return listModelPrices().filter((m) => {
237
- if (filter.provider && m.provider !== filter.provider) return false;
238
- if (filter.region && m.region !== filter.region) return false;
239
- if (filter.maxInputPer1M != null && m.inputPer1M > filter.maxInputPer1M) return false;
240
- if (filter.free === true && (m.inputPer1M !== 0 || m.outputPer1M !== 0)) return false;
241
- if (filter.free === false && m.inputPer1M === 0 && m.outputPer1M === 0) return false;
242
- return true;
243
- });
244
- }
245
- function priceCall(modelId, inputTokens, outputTokens) {
246
- const p = getModelPrice(modelId);
247
- if (!p || p.unit !== "per_1m_tokens") return void 0;
248
- return inputTokens / 1e6 * p.inputPer1M + outputTokens / 1e6 * p.outputPer1M;
249
- }
250
- function pricingGeneratedAt() {
251
- return PRICING_GENERATED_AT;
252
- }
253
- var PRICING_STALE_AFTER_DAYS = 35;
254
- function computeFreshness(generatedAt, checkedAt, nowMs, units = []) {
255
- const age = (iso) => {
256
- const t = iso ? Date.parse(iso) : NaN;
257
- return Number.isFinite(t) ? Math.max(0, Math.floor((nowMs - t) / 864e5)) : null;
258
- };
259
- const isStale = (d) => d === null || d > PRICING_STALE_AFTER_DAYS;
260
- const ageDays = age(checkedAt);
261
- const unitRows = units.map((u) => {
262
- const a = age(u.checkedAt);
263
- return { unit: u.unit, count: u.count, checkedAt: u.checkedAt, ageDays: a, stale: isStale(a) };
264
- });
265
- const caveats = unitRows.flatMap(
266
- (u) => u.count === 0 ? [`${u.unit}: 0 rows \u2014 this table cannot price anything billed in ${u.unit}, so "stale: false" says nothing about it`] : u.stale ? [
267
- `${u.unit}: ${u.count} row(s) last verified ${u.checkedAt || "never"}` + (u.ageDays === null ? "" : ` (${u.ageDays} days ago)`) + `, past the ${PRICING_STALE_AFTER_DAYS}d threshold`
268
- ] : []
269
- );
270
- return {
271
- generatedAt,
272
- checkedAt,
273
- ageDays,
274
- stale: isStale(ageDays),
275
- thresholdDays: PRICING_STALE_AFTER_DAYS,
276
- units: unitRows,
277
- caveats
278
- };
279
- }
280
- function pricingFreshness(nowMs = Date.now()) {
281
- return computeFreshness(PRICING_GENERATED_AT, PRICING_CHECKED_AT, nowMs, [
282
- { unit: "per_1m_tokens", count: PRICING_DATA.length, checkedAt: PRICING_CHECKED_AT },
283
- // Every media unit, derived from the table rather than listed here — a unit added
284
- // to MEDIA_PRICING and forgotten here would be a unit the freshness API silently
285
- // does not report, which is this whole feature's own bug wearing a new hat.
286
- // Hand-maintained, and the monthly job cannot reach them, hence their own date:
287
- // inheriting the token snapshot's would make an un-revised video price look freshly
288
- // verified every time the token job ran.
289
- ...Object.entries(mediaUnitCounts()).map(([unit, count]) => ({
290
- unit,
291
- count,
292
- checkedAt: MEDIA_PRICING_CHECKED_AT
293
- }))
294
- ]);
295
- }
296
- var warned = false;
297
- function warnIfPricingStale(nowMs = Date.now()) {
298
- if (warned) return;
299
- if (globalThis.process?.env?.BROBERG_AI_SDK_SILENCE_PRICING_WARNING) return;
300
- const f = pricingFreshness(nowMs);
301
- if (!f.stale && f.caveats.length === 0) return;
302
- warned = true;
303
- const parts = [];
304
- if (f.stale) {
305
- const age = f.ageDays === null ? "of unknown age" : `${f.ageDays} days old`;
306
- parts.push(
307
- `price table is ${age} (last verified ${f.checkedAt || "never"}, threshold ${f.thresholdDays}d). Prices drift: one week has produced 34 changes before. Refresh with \`bun run scripts/build-inventory.ts\` in ai-sdk, or take a newer release.`
308
- );
309
- }
310
- if (f.caveats.length > 0) {
311
- parts.push(
312
- `${f.caveats.length} pricing caveat(s): ${f.caveats.join("; ")}. Non-token prices are HAND-maintained (no vendor catalogue API serves them), so refreshing them means a human re-reading the vendor's pricing page and bumping MEDIA_PRICING_CHECKED_AT in src/cost/media-pricing.ts.`
313
- );
314
- }
315
- console.warn(`[@broberg/ai-sdk] ${parts.join(" | ")}`);
316
- }
317
- function resetPricingWarningForTests() {
318
- warned = false;
319
- }
320
-
321
- export {
322
- MEDIA_PRICING_CHECKED_AT,
323
- MEDIA_PRICING,
324
- DEFAULT_CLIP_SEC,
325
- getMediaPrice,
326
- listMediaPrices,
327
- getModelPrice,
328
- listModelPrices,
329
- findModelPrices,
330
- priceCall,
331
- pricingGeneratedAt,
332
- PRICING_STALE_AFTER_DAYS,
333
- pricingFreshness,
334
- warnIfPricingStale,
335
- resetPricingWarningForTests
336
- };
337
- //# sourceMappingURL=chunk-JMRWFOAC.js.map