@broberg/ai-sdk 0.36.7 → 0.37.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.
package/dist/pricing.d.ts CHANGED
@@ -34,7 +34,39 @@ declare function listModelPrices(): ModelPrice[];
34
34
  declare function findModelPrices(filter?: PriceFilter): ModelPrice[];
35
35
  /** Convenience USD compute for a token-priced model; undefined if unknown / not token-priced. */
36
36
  declare function priceCall(modelId: string, inputTokens: number, outputTokens: number): number | undefined;
37
- /** ISO timestamp of the inventory snapshot these prices came from — for staleness checks. */
37
+ /** ISO timestamp of the inventory snapshot these prices came from.
38
+ *
39
+ * **This is when the NUMBERS LAST MOVED, not when we last checked them** — so it is
40
+ * the wrong field to measure staleness with. Use {@link pricingFreshness}. Kept as-is
41
+ * because consumers already call it and its value has not changed meaning. */
38
42
  declare function pricingGeneratedAt(): string;
43
+ /** How old a price check may be before we call it stale.
44
+ *
45
+ * ONE constant: the `model-advisor` skill quotes the same number, and two copies of a
46
+ * threshold drift apart until the doc and the code disagree about what "stale" means. */
47
+ declare const PRICING_STALE_AFTER_DAYS = 35;
48
+ interface PricingFreshness {
49
+ /** When the numbers last CHANGED. */
50
+ generatedAt: string;
51
+ /** When we last VERIFIED them against the live catalogue. Empty on a pre-F046
52
+ * snapshot, which means "we cannot say" — never "fresh". */
53
+ checkedAt: string;
54
+ /** Days since `checkedAt`; `null` when there is no check date to measure from. */
55
+ ageDays: number | null;
56
+ /** True when the check is older than {@link PRICING_STALE_AFTER_DAYS} — or when
57
+ * there is no check date at all. An unanswerable question is not a pass. */
58
+ stale: boolean;
59
+ thresholdDays: number;
60
+ }
61
+ declare function pricingFreshness(nowMs?: number): PricingFreshness;
62
+ /** Warn ONCE per process that these prices are old. Called from every price lookup.
63
+ *
64
+ * Once, not per lookup: a library that prints on every call in a loop gets silenced,
65
+ * and a silenced warning is the state we started from. Opt out with
66
+ * `BROBERG_AI_SDK_SILENCE_PRICING_WARNING=1` — offered so that a consumer who does not
67
+ * want the noise turns off the WARNING rather than abandoning the lookup. */
68
+ declare function warnIfPricingStale(nowMs?: number): void;
69
+ /** Test-only: forget that we already warned. */
70
+ declare function resetPricingWarningForTests(): void;
39
71
 
40
- export { type ModelPrice, type PriceFilter, type PriceRegion, findModelPrices, getModelPrice, listModelPrices, priceCall, pricingGeneratedAt };
72
+ export { type ModelPrice, PRICING_STALE_AFTER_DAYS, type PriceFilter, type PriceRegion, type PricingFreshness, findModelPrices, getModelPrice, listModelPrices, priceCall, pricingFreshness, pricingGeneratedAt, resetPricingWarningForTests, warnIfPricingStale };
package/dist/pricing.js CHANGED
@@ -1,118 +1,23 @@
1
1
  import {
2
- PRICING
3
- } from "./chunk-TENEIW7I.js";
4
-
5
- // src/catalogue/pricing-data.ts
6
- var PRICING_GENERATED_AT = "2026-08-27T20:46:29.843Z";
7
- var PRICING_DATA = [{ "provider": "inclusionai", "model": "inclusionai/ling-3.0-flash-fin:free", "name": "Ling 3.0 Flash Fin (free)", "input": 0, "output": 0, "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.075, "output": 0.25, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "meta", "model": "meta/muse-spark-1.2-contributor", "name": "Meta: Muse Spark 1.2 Contributor", "input": 0.09999999999999999, "output": 0.19999999999999998, "unit": "per_1m_tokens", "region": "other" }, { "provider": "deepseek", "model": "deepseek/deepseek-v4-flash-vision-exp", "name": "DeepSeek: DeepSeek V4 Flash Vision Exp", "input": 0.22, "output": 0.66, "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.17700000000000002, "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": 1.4, "output": 4.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": 1.4, "output": 4.4, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3.8-27b", "name": "Qwen: Qwen3.8 27B", "input": 0.425, "output": 2.5500000000000003, "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.375, "output": 1.875, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemini-3.7-flash:batch", "name": "Google: Gemini 3.7 Flash (batch)", "input": 0.1875, "output": 0.9375, "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": 1.122, "output": 3.366, "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.08, "output": 0.19999999999999998, "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.03, "output": 0.12, "unit": "per_1m_tokens", "region": "other" }, { "provider": "meta", "model": "meta/muse-glimmer-30b", "name": "Meta: Muse Glimmer 30B", "input": 0.35, "output": 1.5, "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": "qwen", "model": "qwen/qwen3.8-max", "name": "Qwen: Qwen3.8 Max", "input": 2, "output": 6, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "~deepseek", "model": "~deepseek/deepseek-v4-flash-latest", "name": "DeepSeek V4 Flash Latest", "input": 0.03, "output": 0.09999999999999999, "unit": "per_1m_tokens", "region": "other" }, { "provider": "deepseek", "model": "deepseek/deepseek-v4-flash-0731", "name": "DeepSeek: DeepSeek V4 Flash 0731", "input": 0.049999999999999996, "output": 0.09999999999999999, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "thinkingmachines", "model": "thinkingmachines/inkling-small", "name": "Thinking Machines: Inkling Small", "input": 0.44999999999999996, "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-fast", "name": "Claude Opus 5 (Fast)", "input": 10, "output": 50, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-opus-5", "name": "Claude Opus 5", "input": 5, "output": 25, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-opus-5:batch", "name": "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": "Ling-3.0-flash", "input": 0.020999999999999998, "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": 0.95, "output": 4.05, "unit": "per_1m_tokens", "region": "other" }, { "provider": "thinkingmachines", "model": "thinkingmachines/inkling:batch", "name": "Thinking Machines: Inkling (batch)", "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": 3, "output": 15, "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": "kwaipilot", "model": "kwaipilot/kat-coder-air-v2.5", "name": "Kwaipilot: KAT-Coder-Air V2.5", "input": 0.15, "output": 0.6, "unit": "per_1m_tokens", "region": "other" }, { "provider": "kwaipilot", "model": "kwaipilot/kat-coder-pro-v2.5", "name": "Kwaipilot: KAT-Coder-Pro V2.5", "input": 0.74, "output": 2.96, "unit": "per_1m_tokens", "region": "other" }, { "provider": "openai", "model": "openai/gpt-5.6-luna-pro", "name": "OpenAI: GPT-5.6 Luna Pro", "input": 0.19999999999999998, "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.09999999999999999, "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.19999999999999998, "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.09999999999999999, "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": 2, "output": 10, "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": 1, "output": 5, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.6-sol", "name": "OpenAI: GPT-5.6 Sol", "input": 2, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5.6-sol:batch", "name": "OpenAI: GPT-5.6 Sol (batch)", "input": 1, "output": 5, "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.0825, "output": 0.33, "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": "nex-agi", "model": "nex-agi/nex-n2-mini", "name": "Nex AGI: Nex-N2-Mini", "input": 0.024999999999999998, "output": 0.09999999999999999, "unit": "per_1m_tokens", "region": "other" }, { "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": 1.19, "output": 3.74, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "z-ai", "model": "z-ai/glm-5.2:free", "name": "Z.ai: GLM 5.2 (free)", "input": 0, "output": 0, "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.66, "output": 3.4, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "moonshotai", "model": "moonshotai/kimi-k2.7-code:batch", "name": "MoonshotAI: Kimi K2.7 Code (batch)", "input": 0.95, "output": 4, "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": "nex-agi", "model": "nex-agi/nex-n2-pro", "name": "Nex AGI: Nex-N2-Pro", "input": 0.25, "output": 1, "unit": "per_1m_tokens", "region": "other" }, { "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": 3.5999999999999996, "unit": "per_1m_tokens", "region": "us" }, { "provider": "nvidia", "model": "nvidia/nemotron-3-ultra-550b-a55b:batch", "name": "NVIDIA: Nemotron 3 Ultra (batch)", "input": 0.6, "output": 3.5999999999999996, "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": "minimax", "model": "minimax/minimax-m3", "name": "MiniMax: MiniMax M3", "input": 0.3, "output": 1.2, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "minimax", "model": "minimax/minimax-m3:batch", "name": "MiniMax: MiniMax M3 (batch)", "input": 0.3, "output": 1.2, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "minimax", "model": "minimax/minimax-m3:free", "name": "MiniMax: MiniMax M3 (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "stepfun", "model": "stepfun/step-3.7-flash", "name": "StepFun: Step 3.7 Flash", "input": 0.19999999999999998, "output": 1.15, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "anthropic", "model": "anthropic/claude-opus-4.8-fast", "name": "Anthropic: Claude Opus 4.8 (Fast)", "input": 10, "output": 50, "unit": "per_1m_tokens", "region": "us" }, { "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": "anthropic", "model": "anthropic/claude-opus-4.7-fast", "name": "Anthropic: Claude Opus 4.7 (Fast)", "input": 30, "output": 150, "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": "ibm-granite", "model": "ibm-granite/granite-4.1-8b", "name": "IBM: Granite 4.1 8B", "input": 0.049999999999999996, "output": 0.09999999999999999, "unit": "per_1m_tokens", "region": "other" }, { "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": "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": 1, "output": 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": 12, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~moonshotai", "model": "~moonshotai/kimi-latest", "name": "MoonshotAI Kimi Latest", "input": 2.5500000000000003, "output": 12.75, "unit": "per_1m_tokens", "region": "other" }, { "provider": "~google", "model": "~google/gemini-flash-latest", "name": "Google Gemini Flash Latest", "input": 0.375, "output": 1.875, "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": "~openai", "model": "~openai/gpt-latest", "name": "OpenAI GPT 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.7999999999999998, "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.09999999999999999, "output": 0.8999999999999999, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3.6-max-preview", "name": "Qwen: Qwen3.6 Max Preview", "input": 1.0270000000000001, "output": 6.162, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3.6-27b", "name": "Qwen: Qwen3.6 27B", "input": 0.6, "output": 3.5999999999999996, "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.87, "output": 1.74, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "deepseek", "model": "deepseek/deepseek-v4-flash", "name": "DeepSeek: DeepSeek V4 Flash 0423", "input": 0.07798000000000001, "output": 0.15596000000000002, "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": 5, "output": 25, "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.95, "output": 4, "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": 1.26, "output": 3.9600000000000004, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "google", "model": "google/gemma-4-26b-a4b-it", "name": "Google: Gemma 4 26B A4B ", "input": 0.07, "output": 0.33999999999999997, "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.09, "output": 0.33999999999999997, "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.22, "output": 0.85, "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": "kwaipilot", "model": "kwaipilot/kat-coder-pro-v2", "name": "Kwaipilot: KAT-Coder-Pro V2", "input": 0.3, "output": 1.2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "rekaai", "model": "rekaai/reka-edge", "name": "Reka Edge", "input": 0.09999999999999999, "output": 0.09999999999999999, "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": "minimax", "model": "minimax/minimax-m2.7:free", "name": "MiniMax: MiniMax M2.7 (free)", "input": 0, "output": 0, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openai", "model": "openai/gpt-5.4-nano", "name": "OpenAI: GPT-5.4 Nano", "input": 0.19999999999999998, "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.09999999999999999, "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": "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.08499999999999999, "output": 0.39999999999999997, "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.09999999999999999, "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.09999999999999999, "output": 0.39999999999999997, "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.25, "output": 1.25, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3.5-27b", "name": "Qwen: Qwen3.5-27B", "input": 0.195, "output": 1.56, "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.7999999999999999, "output": 1.5999999999999999, "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": 1.08, "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": "qwen", "model": "qwen/qwen3-max-thinking", "name": "Qwen: Qwen3 Max Thinking", "input": 0.78, "output": 3.9, "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.7999999999999999, "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.09999999999999999, "output": 0.3, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "moonshotai", "model": "moonshotai/kimi-k2.5", "name": "MoonshotAI: Kimi K2.5", "input": 0.6, "output": 3, "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.06, "output": 0.39999999999999997, "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.39999999999999997, "output": 1.75, "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.049999999999999996, "output": 0.19999999999999998, "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.44, "output": 2.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.8999999999999999, "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.19999999999999998, "output": 0.19999999999999998, "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-3b-2512", "name": "Mistral: Ministral 3 3B 2512", "input": 0.09999999999999999, "output": 0.09999999999999999, "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": "deepseek", "model": "deepseek/deepseek-v3.2", "name": "DeepSeek: DeepSeek V3.2", "input": 0.26, "output": 0.38, "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": "allenai", "model": "allenai/olmo-3-32b-think", "name": "AllenAI: Olmo 3 32B Think", "input": 0.15, "output": 0.5, "unit": "per_1m_tokens", "region": "other" }, { "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.09999999999999999, "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": "qwen", "model": "qwen/qwen3-vl-32b-instruct", "name": "Qwen: Qwen3 VL 32B Instruct", "input": 0.10400000000000001, "output": 0.41600000000000004, "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-thinking", "name": "Qwen: Qwen3 VL 8B Thinking", "input": 0.18, "output": 2.0999999999999996, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3-vl-8b-instruct", "name": "Qwen: Qwen3 VL 8B Instruct", "input": 0.117, "output": 0.45499999999999996, "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.19999999999999998, "output": 2.4, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3-vl-30b-a3b-instruct", "name": "Qwen: Qwen3 VL 30B A3B Instruct", "input": 0.13, "output": 0.52, "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.43, "output": 1.75, "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-thinking", "name": "Qwen: Qwen3 VL 235B A22B Thinking", "input": 0.39999999999999997, "output": 4, "unit": "per_1m_tokens", "region": "cn" }, { "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": "qwen", "model": "qwen/qwen3-max", "name": "Qwen: Qwen3 Max", "input": 0.78, "output": 3.9, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen3-coder-plus", "name": "Qwen: Qwen3 Coder Plus", "input": 0.65, "output": 3.25, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "openai", "model": "openai/gpt-5-codex:batch", "name": "OpenAI: GPT-5 Codex (batch)", "input": 0.625, "output": 5, "unit": "per_1m_tokens", "region": "us" }, { "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.09999999999999999, "output": 1.1, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "qwen", "model": "qwen/qwen-plus-2025-07-28", "name": "Qwen: Qwen Plus 0728", "input": 0.26, "output": 0.78, "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": "qwen", "model": "qwen/qwen3-30b-a3b-thinking-2507", "name": "Qwen: Qwen3 30B A3B Thinking 2507", "input": 0.19999999999999998, "output": 2.4, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "nousresearch", "model": "nousresearch/hermes-4-70b", "name": "Nous: Hermes 4 70B", "input": 0.13, "output": 0.39999999999999997, "unit": "per_1m_tokens", "region": "other" }, { "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.55, "output": 1.6500000000000001, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "mistralai", "model": "mistralai/mistral-medium-3.1", "name": "Mistral: Mistral Medium 3.1", "input": 0.39999999999999997, "output": 2, "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.7999999999999998, "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.049999999999999996, "output": 0.39999999999999997, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-5-nano:batch", "name": "OpenAI: GPT-5 Nano (batch)", "input": 0.024999999999999998, "output": 0.19999999999999998, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-oss-120b", "name": "OpenAI: gpt-oss-120b", "input": 0.037, "output": 0.16999999999999998, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-oss-20b", "name": "OpenAI: gpt-oss-20b", "input": 0.03, "output": 0.13, "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.8999999999999999, "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.04815, "output": 0.19305, "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.22999999999999998, "output": 2.3, "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.09999999999999999, "output": 0.19999999999999998, "unit": "per_1m_tokens", "region": "other" }, { "provider": "google", "model": "google/gemini-2.5-flash-lite", "name": "Google: Gemini 2.5 Flash Lite", "input": 0.09999999999999999, "output": 0.39999999999999997, "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.049999999999999996, "output": 0.19999999999999998, "unit": "per_1m_tokens", "region": "us" }, { "provider": "qwen", "model": "qwen/qwen3-235b-a22b-2507", "name": "Qwen: Qwen3 235B A22B Instruct 2507", "input": 0.0875, "output": 0.35, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "moonshotai", "model": "moonshotai/kimi-k2", "name": "MoonshotAI: Kimi K2 0711", "input": 0.5700000000000001, "output": 2.3, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "cognitivecomputations", "model": "cognitivecomputations/dolphin-mistral-24b-venice-edition", "name": "Venice: Uncensored", "input": 0.19999999999999998, "output": 0.8999999999999999, "unit": "per_1m_tokens", "region": "other" }, { "provider": "tencent", "model": "tencent/hunyuan-a13b-instruct", "name": "Tencent: Hunyuan A13B Instruct", "input": 0.14, "output": 0.5700000000000001, "unit": "per_1m_tokens", "region": "other" }, { "provider": "morph", "model": "morph/morph-v3-large", "name": "Morph: Morph V3 Large", "input": 0.8999999999999999, "output": 1.9, "unit": "per_1m_tokens", "region": "other" }, { "provider": "morph", "model": "morph/morph-v3-fast", "name": "Morph: Morph V3 Fast", "input": 0.7999999999999999, "output": 1.2, "unit": "per_1m_tokens", "region": "other" }, { "provider": "baidu", "model": "baidu/ernie-4.5-vl-424b-a47b", "name": "Baidu: ERNIE 4.5 VL 424B A47B ", "input": 0.42, "output": 1.25, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "mistralai", "model": "mistralai/mistral-small-3.2-24b-instruct", "name": "Mistral: Mistral Small 3.2 24B", "input": 0.075, "output": 0.19999999999999998, "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": "openai", "model": "openai/o3-pro:batch", "name": "OpenAI: o3 Pro (batch)", "input": 10, "output": 40, "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.1500000000000004, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "anthropic", "model": "anthropic/claude-opus-4", "name": "Anthropic: Claude Opus 4", "input": 15, "output": 75, "unit": "per_1m_tokens", "region": "us" }, { "provider": "anthropic", "model": "anthropic/claude-sonnet-4", "name": "Anthropic: Claude Sonnet 4", "input": 3, "output": 15, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/mistral-medium-3", "name": "Mistral: Mistral Medium 3", "input": 0.39999999999999997, "output": 2, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "google", "model": "google/gemini-2.5-pro-preview-05-06", "name": "Google: Gemini 2.5 Pro Preview 05-06", "input": 1.25, "output": 10, "unit": "per_1m_tokens", "region": "us" }, { "provider": "arcee-ai", "model": "arcee-ai/virtuoso-large", "name": "Arcee AI: Virtuoso Large", "input": 0.75, "output": 1.2, "unit": "per_1m_tokens", "region": "other" }, { "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-8b", "name": "Qwen: Qwen3 8B", "input": 0.117, "output": 0.45499999999999996, "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": "qwen", "model": "qwen/qwen3-235b-a22b", "name": "Qwen: Qwen3 235B A22B", "input": 0.45499999999999996, "output": 1.8199999999999998, "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/o4-mini-high:batch", "name": "OpenAI: o4 Mini High (batch)", "input": 0.55, "output": 2.2, "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.39999999999999997, "output": 1.5999999999999999, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4.1-mini:batch", "name": "OpenAI: GPT-4.1 Mini (batch)", "input": 0.19999999999999998, "output": 0.7999999999999999, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4.1-nano", "name": "OpenAI: GPT-4.1 Nano", "input": 0.09999999999999999, "output": 0.39999999999999997, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/gpt-4.1-nano:batch", "name": "OpenAI: GPT-4.1 Nano (batch)", "input": 0.049999999999999996, "output": 0.19999999999999998, "unit": "per_1m_tokens", "region": "us" }, { "provider": "meta-llama", "model": "meta-llama/llama-4-maverick", "name": "Meta: Llama 4 Maverick", "input": 0.19999999999999998, "output": 0.7999999999999999, "unit": "per_1m_tokens", "region": "us" }, { "provider": "meta-llama", "model": "meta-llama/llama-4-scout", "name": "Meta: Llama 4 Scout", "input": 0.11, "output": 0.33999999999999997, "unit": "per_1m_tokens", "region": "us" }, { "provider": "deepseek", "model": "deepseek/deepseek-chat-v3-0324", "name": "DeepSeek: DeepSeek V3 0324", "input": 0.25, "output": 1, "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": "openai", "model": "openai/o1-pro:batch", "name": "OpenAI: o1-pro (batch)", "input": 75, "output": 300, "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.5549999999999999, "unit": "per_1m_tokens", "region": "eu" }, { "provider": "google", "model": "google/gemma-3-4b-it", "name": "Google: Gemma 3 4B", "input": 0.049999999999999996, "output": 0.09999999999999999, "unit": "per_1m_tokens", "region": "us" }, { "provider": "google", "model": "google/gemma-3-12b-it", "name": "Google: Gemma 3 12B", "input": 0.049999999999999996, "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.09999999999999999, "output": 0.19999999999999998, "unit": "per_1m_tokens", "region": "other" }, { "provider": "google", "model": "google/gemma-3-27b-it", "name": "Google: Gemma 3 27B", "input": 0.08, "output": 0.44999999999999996, "unit": "per_1m_tokens", "region": "us" }, { "provider": "thedrummer", "model": "thedrummer/skyfall-36b-v2", "name": "TheDrummer: Skyfall 36B V2", "input": 0.55, "output": 0.7999999999999999, "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.19999999999999998, "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": "openai", "model": "openai/o3-mini-high:batch", "name": "OpenAI: o3 Mini High (batch)", "input": 0.55, "output": 2.2, "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.7999999999999999, "output": 1.5999999999999999, "unit": "per_1m_tokens", "region": "other" }, { "provider": "qwen", "model": "qwen/qwen2.5-vl-72b-instruct", "name": "Qwen: Qwen2.5 VL 72B Instruct", "input": 0.25, "output": 0.75, "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.049999999999999996, "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": "deepseek", "model": "deepseek/deepseek-r1-distill-llama-70b", "name": "DeepSeek: R1 Distill Llama 70B", "input": 0.7999999999999999, "output": 0.7999999999999999, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "deepseek", "model": "deepseek/deepseek-r1", "name": "DeepSeek: R1", "input": 0.7, "output": 2.5, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "minimax", "model": "minimax/minimax-01", "name": "MiniMax: MiniMax-01", "input": 0.19999999999999998, "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": "sao10k", "model": "sao10k/l3.3-euryale-70b", "name": "Sao10K: Llama 3.3 Euryale 70B", "input": 0.65, "output": 0.75, "unit": "per_1m_tokens", "region": "other" }, { "provider": "openai", "model": "openai/o1", "name": "OpenAI: o1", "input": 15, "output": 60, "unit": "per_1m_tokens", "region": "us" }, { "provider": "openai", "model": "openai/o1:batch", "name": "OpenAI: o1 (batch)", "input": 7.5, "output": 30, "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.71, "output": 0.71, "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.7999999999999999, "output": 3.1999999999999997, "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.39999999999999997, "output": 0.39999999999999997, "unit": "per_1m_tokens", "region": "other" }, { "provider": "anthracite-org", "model": "anthracite-org/magnum-v4-72b", "name": "Magnum v4 72B", "input": 3, "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.09999999999999999, "output": 0.19999999999999998, "unit": "per_1m_tokens", "region": "cn" }, { "provider": "thedrummer", "model": "thedrummer/rocinante-12b", "name": "TheDrummer: Rocinante 12B", "input": 0.25, "output": 0.5, "unit": "per_1m_tokens", "region": "other" }, { "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.049999999999999996, "output": 0.33, "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.39999999999999997, "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.049999999999999996, "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.39999999999999997, "output": 0.39999999999999997, "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.049999999999999996, "output": 0.08, "unit": "per_1m_tokens", "region": "us" }, { "provider": "mistralai", "model": "mistralai/mistral-nemo", "name": "Mistral: Mistral Nemo", "input": 0.019000000000000003, "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": "microsoft", "model": "microsoft/wizardlm-2-8x22b", "name": "WizardLM-2 8x22B", "input": 0.62, "output": 0.62, "unit": "per_1m_tokens", "region": "us" }, { "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": "anthropic", "model": "anthropic/claude-3-haiku", "name": "Anthropic: Claude 3 Haiku", "input": 0.25, "output": 1.25, "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": "openai", "model": "openai/gpt-4-turbo-preview", "name": "OpenAI: GPT-4 Turbo Preview", "input": 10, "output": 30, "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.5, "output": 0.75, "unit": "per_1m_tokens", "region": "other" }, { "provider": "undi95", "model": "undi95/remm-slerp-l2-13b", "name": "ReMM SLERP 13B", "input": 0.44999999999999996, "output": 0.65, "unit": "per_1m_tokens", "region": "other" }, { "provider": "gryphe", "model": "gryphe/mythomax-l2-13b", "name": "MythoMax 13B", "input": 0.06, "output": 0.06, "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" }];
8
-
9
- // src/catalogue/pricing-api.ts
10
- var basename = (id) => {
11
- let s = id.toLowerCase();
12
- const colon = s.lastIndexOf(":");
13
- if (colon >= 0) s = s.slice(colon + 1);
14
- const slash = s.lastIndexOf("/");
15
- if (slash >= 0) s = s.slice(slash + 1);
16
- return s;
17
- };
18
- function regionForProvider(provider) {
19
- switch (provider) {
20
- case "mistral":
21
- case "mistralai":
22
- return "eu";
23
- case "deepseek":
24
- return "cn";
25
- case "anthropic":
26
- case "openai":
27
- case "google":
28
- case "x-ai":
29
- case "meta-llama":
30
- return "us";
31
- default:
32
- return "other";
33
- }
34
- }
35
- var _list = null;
36
- var _full = null;
37
- var _base = null;
38
- function ensure() {
39
- if (_list) return;
40
- const list = [];
41
- const byBase = /* @__PURE__ */ new Map();
42
- for (const r of PRICING_DATA) {
43
- const e = {
44
- provider: r.provider,
45
- model: r.model,
46
- name: r.name,
47
- inputPer1M: r.input,
48
- outputPer1M: r.output,
49
- unit: r.unit,
50
- region: ["eu", "us", "cn", "other"].includes(r.region) ? r.region : "other",
51
- source: "inventory"
52
- };
53
- list.push(e);
54
- byBase.set(basename(r.model), e);
55
- }
56
- for (const [key, p] of Object.entries(PRICING)) {
57
- const ci = key.indexOf(":");
58
- const provider = ci >= 0 ? key.slice(0, ci) : "";
59
- const modelPart = ci >= 0 ? key.slice(ci + 1) : key;
60
- const existing = byBase.get(basename(modelPart));
61
- if (existing) {
62
- existing.inputPer1M = p.inputPer1M;
63
- existing.outputPer1M = p.outputPer1M;
64
- existing.unit = "per_1m_tokens";
65
- existing.source = "curated";
66
- } else {
67
- const e = {
68
- provider,
69
- model: modelPart,
70
- inputPer1M: p.inputPer1M,
71
- outputPer1M: p.outputPer1M,
72
- unit: "per_1m_tokens",
73
- region: regionForProvider(provider),
74
- source: "curated"
75
- };
76
- list.push(e);
77
- byBase.set(basename(modelPart), e);
78
- }
79
- }
80
- _list = list;
81
- _base = byBase;
82
- _full = new Map(list.map((e) => [e.model.toLowerCase(), e]));
83
- }
84
- function getModelPrice(modelId) {
85
- ensure();
86
- const s = modelId.trim().toLowerCase();
87
- return _full.get(s) ?? (s.includes(":") ? _full.get(s.slice(s.indexOf(":") + 1)) : void 0) ?? _base.get(basename(s));
88
- }
89
- function listModelPrices() {
90
- ensure();
91
- return _list.slice();
92
- }
93
- function findModelPrices(filter = {}) {
94
- return listModelPrices().filter((m) => {
95
- if (filter.provider && m.provider !== filter.provider) return false;
96
- if (filter.region && m.region !== filter.region) return false;
97
- if (filter.maxInputPer1M != null && m.inputPer1M > filter.maxInputPer1M) return false;
98
- if (filter.free === true && (m.inputPer1M !== 0 || m.outputPer1M !== 0)) return false;
99
- if (filter.free === false && m.inputPer1M === 0 && m.outputPer1M === 0) return false;
100
- return true;
101
- });
102
- }
103
- function priceCall(modelId, inputTokens, outputTokens) {
104
- const p = getModelPrice(modelId);
105
- if (!p || p.unit !== "per_1m_tokens") return void 0;
106
- return inputTokens / 1e6 * p.inputPer1M + outputTokens / 1e6 * p.outputPer1M;
107
- }
108
- function pricingGeneratedAt() {
109
- return PRICING_GENERATED_AT;
110
- }
2
+ PRICING_STALE_AFTER_DAYS,
3
+ findModelPrices,
4
+ getModelPrice,
5
+ listModelPrices,
6
+ priceCall,
7
+ pricingFreshness,
8
+ pricingGeneratedAt,
9
+ resetPricingWarningForTests,
10
+ warnIfPricingStale
11
+ } from "./chunk-CTPTMHNX.js";
111
12
  export {
13
+ PRICING_STALE_AFTER_DAYS,
112
14
  findModelPrices,
113
15
  getModelPrice,
114
16
  listModelPrices,
115
17
  priceCall,
116
- pricingGeneratedAt
18
+ pricingFreshness,
19
+ pricingGeneratedAt,
20
+ resetPricingWarningForTests,
21
+ warnIfPricingStale
117
22
  };
118
23
  //# sourceMappingURL=pricing.js.map