@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/chunk-CTPTMHNX.js +279 -0
- package/dist/chunk-CTPTMHNX.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/pricing.d.ts +34 -2
- package/dist/pricing.js +15 -110
- package/dist/pricing.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-TENEIW7I.js +0 -130
- package/dist/chunk-TENEIW7I.js.map +0 -1
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
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
|
|
18
|
+
pricingFreshness,
|
|
19
|
+
pricingGeneratedAt,
|
|
20
|
+
resetPricingWarningForTests,
|
|
21
|
+
warnIfPricingStale
|
|
117
22
|
};
|
|
118
23
|
//# sourceMappingURL=pricing.js.map
|