@broberg/ai-sdk 0.36.6 → 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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cost/pricing.ts","../src/catalogue/pricing-data.ts","../src/catalogue/pricing-api.ts"],"sourcesContent":["// Versioned per-(provider, model) pricing. F3.6 populates the table + adds tests\n// + MiniMax coverage. F3.1 ships the type + lookup with an empty table, so\n// computeCost returns 0 for every model until F3.6 lands (calls still complete).\nexport interface PricingEntry {\n /** USD per 1M input tokens. */\n inputPer1M: number;\n /** USD per 1M output tokens. */\n outputPer1M: number;\n /** USD per 1M cache-read tokens (falls back to input rate if unset). */\n cacheReadPer1M?: number;\n /** USD per 1M cache-write/creation tokens (falls back to input rate if unset). */\n cacheWritePer1M?: number;\n /** Pricing snapshot version (date or tag) so stale entries are detectable. */\n version: string;\n}\n\n// USD per 1M tokens. Anthropic cache multipliers follow the standard model:\n// cache-read ≈ 0.1× input, cache-write ≈ 1.25× input. Verified against the\n// pricing tables in cms (packages/cms-ai/src/providers) + trail (model-lab).\n// MiniMax M2.7 is an estimate pending confirmation against OpenRouter's live\n// price page — flagged in its version string.\nconst V = \"2026-06-02\";\n// Mistral prices come straight from mistral.ai/pricing (per Christian's CD report).\nconst MS = \"2026-06-04-mistral.ai\";\n\n/** Keyed `${provider}:${model}`. Exported so the catalogue-research job (F014)\n * can enumerate every priced entry and diff it against the live provider lists. */\nexport const PRICING: Record<string, PricingEntry> = {\n // Anthropic (direct API). DEFAULT_TIER_MAP: fast/cheap=haiku, smart/vision=sonnet, powerful=opus.\n \"anthropic:claude-haiku-4-5\": {\n inputPer1M: 0.8,\n outputPer1M: 4.0,\n cacheReadPer1M: 0.08,\n cacheWritePer1M: 1.0,\n version: V,\n },\n \"anthropic:claude-sonnet-4-6\": {\n inputPer1M: 3.0,\n outputPer1M: 15.0,\n cacheReadPer1M: 0.3,\n cacheWritePer1M: 3.75,\n version: V,\n },\n \"anthropic:claude-opus-4-8\": {\n inputPer1M: 15.0,\n outputPer1M: 75.0,\n cacheReadPer1M: 1.5,\n cacheWritePer1M: 18.75,\n version: V,\n },\n\n // OpenAI. embedding default tier = text-embedding-3-small (no output tokens).\n // Cached input is 50% of the input rate — $1.25 vs $2.50 (gpt-4o) and $0.075 vs\n // $0.15 (gpt-4o-mini), read from developers.openai.com/api/docs/pricing on\n // 2026-08-27. NOTE IT IS 50%, NOT the 10% Mistral and Gemini charge: assuming one\n // uniform discount across providers would have understated OpenAI's cost by 4x on\n // the cached half. Caching is automatic above 1,024 tokens — no key, no opt-in.\n // The embedding models list NO cached price (embeddings do not cache), so they\n // deliberately get no row here rather than a guessed one.\n \"openai:text-embedding-3-small\": { inputPer1M: 0.02, outputPer1M: 0, version: V },\n \"openai:text-embedding-3-large\": { inputPer1M: 0.13, outputPer1M: 0, version: V },\n \"openai:gpt-4o\": { inputPer1M: 2.5, cacheReadPer1M: 1.25, outputPer1M: 10.0, version: \"2026-08-27-developers.openai.com\" },\n \"openai:gpt-4o-mini\": { inputPer1M: 0.15, cacheReadPer1M: 0.075, outputPer1M: 0.6, version: \"2026-08-27-developers.openai.com\" },\n // Whisper is priced per minute, not per token — not representable here; transcribe\n // (F5.6) computes its own cost. Listed as 0 so token-based compute never charges it.\n \"openai:whisper-1\": { inputPer1M: 0, outputPer1M: 0, version: V },\n\n // OpenRouter (meta-router — model slugs include the upstream vendor). Slugs use\n // dots (claude-sonnet-4.6) to match OpenRouter's live ids; the dashed forms\n // never matched a real call. Caught by the F014 catalogue research.\n \"openrouter:anthropic/claude-sonnet-4.6\": { inputPer1M: 3.0, outputPer1M: 15.0, version: V },\n // OpenRouter ground-truth $1/$5 — a markup over Anthropic-direct's $0.8/$4\n // (the `anthropic:` entry above). Was masked while the slug used dashes.\n \"openrouter:anthropic/claude-haiku-4.5\": { inputPer1M: 1.0, outputPer1M: 5.0, version: \"2026-06-04\" },\n \"openrouter:google/gemini-2.5-flash\": { inputPer1M: 0.3, outputPer1M: 2.5, version: V },\n // Ground-truth from OpenRouter /api/v1/models (was a 0.3 estimate; now 0.279).\n \"openrouter:minimax/minimax-m2.7\": {\n inputPer1M: 0.279,\n outputPer1M: 1.2,\n version: \"2026-06-04\",\n },\n // DeepSeek V4 (CN-hosted — NOT GDPR-safe; non-personal-data workloads only).\n // On 2026-05-22 DeepSeek made the \"75% off\" promo the permanent official price.\n // V4-Pro $0.435/$0.87 is ~34x cheaper than GPT-5.5 on output; flash is cheaper\n // still. Numbers match OpenRouter /api/v1/models 1:1 (no router markup). A strong\n // cheap route for fleet background work once `claude -p` is API-billed (15 Jun).\n \"openrouter:deepseek/deepseek-v4-pro\": { inputPer1M: 0.435, outputPer1M: 0.87, version: \"2026-05-22-deepseek-official\" },\n \"openrouter:deepseek/deepseek-v4-flash\": { inputPer1M: 0.0983, outputPer1M: 0.1966, version: \"2026-05-22-deepseek-official\" },\n // DeepSeek DIRECT API (provider \"deepseek\", F030 non-PII secondary). Rates from\n // api-docs.deepseek.com 2026-06-30 ($0.14/$0.28 per 1M; both map to deepseek-v4-flash).\n // `deepseek-chat` (non-thinking) + `deepseek-reasoner` (thinking) DEPRECATE 2026-07-24.\n // (The bare `deepseek-v4-flash` basename is already priced via the openrouter entry\n // above — kept distinct here to avoid a basename collision in the F027 pricing-API.)\n // Verify against a real key when it lands.\n \"deepseek:deepseek-chat\": { inputPer1M: 0.14, outputPer1M: 0.28, version: \"2026-06-30-deepseek-direct\" },\n \"deepseek:deepseek-reasoner\": { inputPer1M: 0.14, outputPer1M: 0.28, version: \"2026-06-30-deepseek-direct\" },\n\n // Cached input tokens cost 10% of the input rate — $0.03 vs $0.30 (2.5-flash) and\n // $0.01 vs $0.10 (2.5-flash-lite), read from ai.google.dev/gemini-api/docs/pricing\n // on 2026-08-27 rather than recalled. NB the storage fee on that page ($1/1M\n // tokens/hour) applies to EXPLICIT context caching, where you create a CachedContent\n // object with a TTL. We use IMPLICIT caching, which has no storage charge — so this\n // table is not silently under-billing.\n // Google Gemini (direct). Provider key is \"gemini\" — matches the adapter's\n // usage.provider + the override.provider callers pass. (Image-gen models are\n // priced per-image in the adapter, not here.)\n \"gemini:gemini-2.5-flash\": { inputPer1M: 0.3, cacheReadPer1M: 0.03, outputPer1M: 2.5, version: \"2026-08-27-ai.google.dev\" },\n // flash-lite is the default `video` tier (F019) — cheap native video understanding.\n \"gemini:gemini-2.5-flash-lite\": { inputPer1M: 0.1, cacheReadPer1M: 0.01, outputPer1M: 0.4, version: \"2026-08-27-ai.google.dev\" },\n\n // Vertex AI (F038) — the EU-resident route to the SAME Gemini models, so Google's\n // published Gemini token prices apply. Listed separately because cost lookups key on\n // `provider:model`: without these rows an EU vision/video call would silently log\n // $0, which is worse than no tracking (a confident wrong number).\n \"vertex:gemini-2.5-flash\": { inputPer1M: 0.3, cacheReadPer1M: 0.03, outputPer1M: 2.5, version: \"2026-08-27-ai.google.dev\" },\n \"vertex:gemini-2.5-flash-lite\": { inputPer1M: 0.1, cacheReadPer1M: 0.01, outputPer1M: 0.4, version: \"2026-08-27-ai.google.dev\" },\n\n // Cached prompt tokens bill at 10% of the input rate (F039, measured 2026-08-27:\n // an 8,810-token prefix reported 8,784 cached on the second call WITH a\n // prompt_cache_key, and 0 without one at every size up to 57k).\n // Mistral (direct, La Plateforme). Official prices from mistral.ai/pricing\n // (2026-06-04, per Christian's CD report). EU/Paris-hosted — the designated\n // GDPR-safe provider for client/personal-data workloads (see F015). NB:\n // medium-3.5 is the premium \"Vibe\" coding tier ($1.5/$7.5); Large 3 ($0.5/$1.5)\n // is the cheaper frontier general-purpose model despite the higher number.\n \"mistral:mistral-large-latest\": { inputPer1M: 0.5, cacheReadPer1M: 0.05, outputPer1M: 1.5, version: MS },\n \"mistral:mistral-large-2512\": { inputPer1M: 0.5, cacheReadPer1M: 0.05, outputPer1M: 1.5, version: MS },\n \"mistral:mistral-medium-latest\": { inputPer1M: 1.5, cacheReadPer1M: 0.15, outputPer1M: 7.5, version: MS },\n \"mistral:mistral-medium-3.5\": { inputPer1M: 1.5, cacheReadPer1M: 0.15, outputPer1M: 7.5, version: MS },\n \"mistral:mistral-medium-3\": { inputPer1M: 0.4, cacheReadPer1M: 0.04, outputPer1M: 2.0, version: \"2026-06-04-or-xref\" },\n \"mistral:mistral-small-latest\": { inputPer1M: 0.1, cacheReadPer1M: 0.01, outputPer1M: 0.3, version: MS },\n \"mistral:mistral-small-2603\": { inputPer1M: 0.1, cacheReadPer1M: 0.01, outputPer1M: 0.3, version: MS },\n \"mistral:ministral-3b-latest\": { inputPer1M: 0.1, cacheReadPer1M: 0.01, outputPer1M: 0.1, version: MS },\n \"mistral:ministral-8b-latest\": { inputPer1M: 0.15, cacheReadPer1M: 0.015, outputPer1M: 0.15, version: MS },\n \"mistral:ministral-14b-latest\": { inputPer1M: 0.2, cacheReadPer1M: 0.02, outputPer1M: 0.2, version: MS },\n \"mistral:magistral-medium-latest\": { inputPer1M: 2.0, cacheReadPer1M: 0.2, outputPer1M: 5.0, version: MS },\n \"mistral:magistral-small-latest\": { inputPer1M: 0.5, cacheReadPer1M: 0.05, outputPer1M: 1.5, version: MS },\n \"mistral:devstral-latest\": { inputPer1M: 0.4, cacheReadPer1M: 0.04, outputPer1M: 2.0, version: MS },\n \"mistral:codestral-latest\": { inputPer1M: 0.3, cacheReadPer1M: 0.03, outputPer1M: 0.9, version: MS },\n \"mistral:open-mistral-nemo\": { inputPer1M: 0.15, cacheReadPer1M: 0.015, outputPer1M: 0.15, version: MS },\n // Moderation (F016.4) — per input token; output 0. (OCR is per-page in the adapter.)\n \"mistral:mistral-moderation-latest\": { inputPer1M: 0.1, cacheReadPer1M: 0.01, outputPer1M: 0, version: MS },\n // Embeddings (F016.5) — per input token.\n \"mistral:mistral-embed\": { inputPer1M: 0.1, cacheReadPer1M: 0.01, outputPer1M: 0, version: MS },\n \"mistral:codestral-embed\": { inputPer1M: 0.15, cacheReadPer1M: 0.015, outputPer1M: 0, version: MS },\n};\n\nexport function getPrice(provider: string, model: string): PricingEntry | undefined {\n const exact = PRICING[`${provider}:${model}`];\n if (exact) return exact;\n // Providers ship dated model snapshots, e.g. \"claude-haiku-4-5-20251001\".\n // Strip a trailing -YYYYMMDD and retry the base lookup so a dated variant\n // prices the same as its base model instead of falling through to 0 — a real\n // paid call must never be logged as $0 (F012). Covers openrouter slugs too.\n const base = model.replace(/-\\d{8}$/, \"\");\n if (base !== model) return PRICING[`${provider}:${base}`];\n return undefined;\n}\n","// GENERATED by scripts/gen-pricing.mjs from inventory.json — DO NOT EDIT.\n// Trimmed pricing projection bundled into the @broberg/ai-sdk/pricing subpath (F027).\n// Regenerated whenever inventory.json refreshes (monthly F014/F017.5 cron).\nexport interface ModelPriceRaw {\n provider: string; model: string; name: string;\n input: number; output: number; unit: string; region: string;\n}\nexport const PRICING_GENERATED_AT = \"2026-09-03T19:06:51.817Z\";\nexport const PRICING_CHECKED_AT = \"2026-09-03T19:06:58.096Z\";\nexport const PRICING_DATA: ModelPriceRaw[] = [{\"provider\":\"meta\",\"model\":\"meta/muse-spark-1.3-contributor\",\"name\":\"Meta: Muse Spark 1.3 Contributor\",\"input\":0.09999999999999999,\"output\":0.19999999999999998,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"meta\",\"model\":\"meta/muse-spark-1.3\",\"name\":\"Meta: Muse Spark 1.3\",\"input\":1.25,\"output\":4.25,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.8-flash\",\"name\":\"Google: Gemini 3.8 Flash\",\"input\":0.75,\"output\":3.75,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.8-flash:batch\",\"name\":\"Google: Gemini 3.8 Flash (batch)\",\"input\":0.375,\"output\":1.875,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-fable-5.1\",\"name\":\"Anthropic: Claude Fable 5.1\",\"input\":10,\"output\":50,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-fable-5.1:batch\",\"name\":\"Anthropic: Claude Fable 5.1 (batch)\",\"input\":5,\"output\":25,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"inception\",\"model\":\"inception/mercury-2.5-preview\",\"name\":\"Inception: Mercury 2.5 Preview\",\"input\":0.04,\"output\":0.15,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"ibm-granite\",\"model\":\"ibm-granite/granite-4.2-8b\",\"name\":\"IBM: Granite 4.2 8B\",\"input\":0.09999999999999999,\"output\":0.15,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"tencent\",\"model\":\"tencent/hy4-preview\",\"name\":\"Tencent: Hy4 preview\",\"input\":0.834,\"output\":2.501,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"inclusionai\",\"model\":\"inclusionai/ling-3.0-flash-fin\",\"name\":\"Ling 3.0 Flash Fin\",\"input\":0.06,\"output\":0.18,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"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\":\"~z-ai\",\"model\":\"~z-ai/glm-flash-latest\",\"name\":\"Z.ai: GLM Flash Latest\",\"input\":0.075,\"output\":0.25,\"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\":\"z-ai\",\"model\":\"z-ai/glm-5.3-flash:batch\",\"name\":\"Z.ai: GLM 5.3 Flash (batch)\",\"input\":0.15,\"output\":0.5,\"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.1480000000000001,\"output\":3.608,\"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.42,\"output\":3,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"dots-studio\",\"model\":\"dots-studio/dots-3-note-preview:free\",\"name\":\"Dots Studio: Dots3-Note Preview (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.7-flash\",\"name\":\"Google: Gemini 3.7 Flash\",\"input\":0.75,\"output\":3.75,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.7-flash:batch\",\"name\":\"Google: Gemini 3.7 Flash (batch)\",\"input\":0.375,\"output\":1.875,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"bytedance-seed\",\"model\":\"bytedance-seed/seed-2-1-turbo\",\"name\":\"ByteDance Seed: Seed 2.1 Turbo\",\"input\":0.5,\"output\":2.5,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.8-2.4t-a95b\",\"name\":\"Qwen: Qwen3.8 2.4T A95B\",\"input\":2,\"output\":6,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.8-2.4t-a95b:batch\",\"name\":\"Qwen: Qwen3.8 2.4T A95B (batch)\",\"input\":2,\"output\":6,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"bytedance-seed\",\"model\":\"bytedance-seed/seed-2.0-code\",\"name\":\"ByteDance Seed: Seed-2.0-Code\",\"input\":0.5,\"output\":3,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v4-pro-0813\",\"name\":\"DeepSeek: DeepSeek V4 Pro 0813\",\"input\":0.66,\"output\":1.9800000000000002,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v4-pro-0813:batch\",\"name\":\"DeepSeek: DeepSeek V4 Pro 0813 (batch)\",\"input\":1.32,\"output\":3.9600000000000004,\"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.3,\"output\":1.1,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"meta\",\"model\":\"meta/muse-glimmer-30b:batch\",\"name\":\"Meta: Muse Glimmer 30B (batch)\",\"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.049999999999999996,\"output\":0.16,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v4-flash-0731\",\"name\":\"DeepSeek: DeepSeek V4 Flash 0731\",\"input\":0.065,\"output\":0.18,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v4-flash-0731:batch\",\"name\":\"DeepSeek: DeepSeek V4 Flash 0731 (batch)\",\"input\":0.14,\"output\":0.28,\"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:batch\",\"name\":\"Thinking Machines: Inkling Small (batch)\",\"input\":0.5,\"output\":1.2,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"thinkingmachines\",\"model\":\"thinkingmachines/inkling-small:free\",\"name\":\"Thinking Machines: Inkling Small (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.7-flash\",\"name\":\"Qwen: Qwen3.7 Flash\",\"input\":0.03,\"output\":0.13,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-opus-5\",\"name\":\"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\":1,\"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\":\"moonshotai\",\"model\":\"moonshotai/kimi-k3:batch\",\"name\":\"MoonshotAI: Kimi K3 (batch)\",\"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-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\":0.966,\"output\":3.036,\"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\":\"~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\":2.4,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"nvidia\",\"model\":\"nvidia/nemotron-3-ultra-550b-a55b:free\",\"name\":\"NVIDIA: Nemotron 3 Ultra (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.7-plus\",\"name\":\"Qwen: Qwen3.7 Plus\",\"input\":0.32,\"output\":1.28,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"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\",\"name\":\"Anthropic: Claude Opus 4.8\",\"input\":5,\"output\":25,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-opus-4.8:batch\",\"name\":\"Anthropic: Claude Opus 4.8 (batch)\",\"input\":2.5,\"output\":12.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.7-max\",\"name\":\"Qwen: Qwen3.7 Max\",\"input\":1.475,\"output\":4.425,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"x-ai\",\"model\":\"x-ai/grok-build-0.1\",\"name\":\"SpaceXAI: Grok Build 0.1\",\"input\":1,\"output\":2,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.5-flash\",\"name\":\"Google: Gemini 3.5 Flash\",\"input\":1.5,\"output\":9,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.5-flash:batch\",\"name\":\"Google: Gemini 3.5 Flash (batch)\",\"input\":0.75,\"output\":4.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"perceptron\",\"model\":\"perceptron/perceptron-mk1\",\"name\":\"Perceptron: Perceptron Mk1\",\"input\":0.15,\"output\":1.5,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.1-flash-lite\",\"name\":\"Google: Gemini 3.1 Flash Lite\",\"input\":0.25,\"output\":1.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.1-flash-lite:batch\",\"name\":\"Google: Gemini 3.1 Flash Lite (batch)\",\"input\":0.125,\"output\":0.75,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-chat-latest\",\"name\":\"OpenAI: GPT Chat Latest\",\"input\":5,\"output\":30,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"x-ai\",\"model\":\"x-ai/grok-4.3\",\"name\":\"SpaceXAI: Grok 4.3\",\"input\":1.25,\"output\":2.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"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\":\"mistralai\",\"model\":\"mistralai/mistral-medium-3-5:batch\",\"name\":\"Mistral: Mistral Medium 3.5 (batch)\",\"input\":0.75,\"output\":3.75,\"unit\":\"per_1m_tokens\",\"region\":\"eu\"},{\"provider\":\"nvidia\",\"model\":\"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free\",\"name\":\"NVIDIA: Nemotron 3 Nano Omni (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"~anthropic\",\"model\":\"~anthropic/claude-haiku-latest\",\"name\":\"Anthropic Claude Haiku Latest\",\"input\":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.5,\"output\":14,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"~google\",\"model\":\"~google/gemini-flash-latest\",\"name\":\"Google Gemini Flash Latest\",\"input\":0.75,\"output\":3.75,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"~anthropic\",\"model\":\"~anthropic/claude-sonnet-latest\",\"name\":\"Anthropic Claude Sonnet Latest\",\"input\":2,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"~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\":1.034256,\"output\":2.068512,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v4-flash\",\"name\":\"DeepSeek: DeepSeek V4 Flash 0423\",\"input\":0.08092,\"output\":0.16184,\"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\":0.966,\"output\":3.036,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"google\",\"model\":\"google/gemma-4-26b-a4b-it\",\"name\":\"Google: Gemma 4 26B A4B \",\"input\":0.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:batch\",\"name\":\"Google: Gemma 4 31B (batch)\",\"input\":0.39,\"output\":0.9700000000000001,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemma-4-31b-it:free\",\"name\":\"Google: Gemma 4 31B (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.6-plus\",\"name\":\"Qwen: Qwen3.6 Plus\",\"input\":0.325,\"output\":1.95,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"z-ai\",\"model\":\"z-ai/glm-5v-turbo\",\"name\":\"Z.ai: GLM 5V Turbo\",\"input\":1.2,\"output\":4,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"arcee-ai\",\"model\":\"arcee-ai/trinity-large-thinking\",\"name\":\"Arcee AI: Trinity Large Thinking\",\"input\":0.25,\"output\":0.7999999999999999,\"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\":\"qwen\",\"model\":\"qwen/qwen3.5-9b:batch\",\"name\":\"Qwen: Qwen3.5-9B (batch)\",\"input\":0.16999999999999998,\"output\":0.25,\"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.29,\"output\":2.4,\"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.55,\"output\":3.5,\"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.44999999999999996,\"output\":2.25,\"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.39999999999999997,\"output\":2,\"unit\":\"per_1m_tokens\",\"region\":\"eu\"},{\"provider\":\"relace\",\"model\":\"relace/relace-search\",\"name\":\"Relace: Relace Search\",\"input\":1,\"output\":3,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"z-ai\",\"model\":\"z-ai/glm-4.6v\",\"name\":\"Z.ai: GLM 4.6V\",\"input\":0.3,\"output\":0.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.26899999999999996,\"output\":0.39999999999999997,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-opus-4.5\",\"name\":\"Anthropic: Claude Opus 4.5\",\"input\":5,\"output\":25,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-opus-4.5:batch\",\"name\":\"Anthropic: Claude Opus 4.5 (batch)\",\"input\":2.5,\"output\":12.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-3-pro-image-preview\",\"name\":\"Google: Nano Banana Pro (Gemini 3 Pro Image Preview)\",\"input\":2,\"output\":12,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.1\",\"name\":\"OpenAI: GPT-5.1\",\"input\":1.25,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.1:batch\",\"name\":\"OpenAI: GPT-5.1 (batch)\",\"input\":0.625,\"output\":5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.1-codex\",\"name\":\"OpenAI: GPT-5.1-Codex\",\"input\":1.25,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.1-codex-mini\",\"name\":\"OpenAI: GPT-5.1-Codex-Mini\",\"input\":0.25,\"output\":2,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"moonshotai\",\"model\":\"moonshotai/kimi-k2-thinking\",\"name\":\"MoonshotAI: Kimi K2 Thinking\",\"input\":0.6,\"output\":2.5,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"amazon\",\"model\":\"amazon/nova-premier-v1\",\"name\":\"Amazon: Nova Premier 1.0\",\"input\":2.5,\"output\":12.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"perplexity\",\"model\":\"perplexity/sonar-pro-search\",\"name\":\"Perplexity: Sonar Pro Search\",\"input\":3,\"output\":15,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"mistralai\",\"model\":\"mistralai/voxtral-small-24b-2507\",\"name\":\"Mistral: Voxtral Small 24B 2507\",\"input\":0.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.15,\"output\":0.6,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5-pro\",\"name\":\"OpenAI: GPT-5 Pro\",\"input\":15,\"output\":120,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5-pro:batch\",\"name\":\"OpenAI: GPT-5 Pro (batch)\",\"input\":7.5,\"output\":60,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"z-ai\",\"model\":\"z-ai/glm-4.6\",\"name\":\"Z.ai: GLM 4.6\",\"input\":0.55,\"output\":2.2,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-sonnet-4.5\",\"name\":\"Anthropic: Claude Sonnet 4.5\",\"input\":3,\"output\":15,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-sonnet-4.5:batch\",\"name\":\"Anthropic: Claude Sonnet 4.5 (batch)\",\"input\":1.5,\"output\":7.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v3.2-exp\",\"name\":\"DeepSeek: DeepSeek V3.2 Exp\",\"input\":0.27,\"output\":0.41,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"thedrummer\",\"model\":\"thedrummer/cydonia-24b-v4.1\",\"name\":\"TheDrummer: Cydonia 24B V4.1\",\"input\":0.3,\"output\":0.5,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"relace\",\"model\":\"relace/relace-apply-3\",\"name\":\"Relace: Relace Apply 3\",\"input\":0.85,\"output\":1.25,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3-vl-235b-a22b-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\":\"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-120b:batch\",\"name\":\"OpenAI: gpt-oss-120b (batch)\",\"input\":0.15,\"output\":0.6,\"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\":\"openai\",\"model\":\"openai/gpt-oss-20b:batch\",\"name\":\"OpenAI: gpt-oss-20b (batch)\",\"input\":0.049999999999999996,\"output\":0.19999999999999998,\"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\":\"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\":\"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/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.696,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"meta-llama\",\"model\":\"meta-llama/llama-4-scout\",\"name\":\"Meta: Llama 4 Scout\",\"input\":0.09999999999999999,\"output\":0.3,\"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\":\"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\":\"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.7999999999999999,\"output\":1,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen-plus\",\"name\":\"Qwen: Qwen-Plus\",\"input\":0.26,\"output\":0.78,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"openai\",\"model\":\"openai/o3-mini\",\"name\":\"OpenAI: o3 Mini\",\"input\":1.1,\"output\":4.4,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/o3-mini:batch\",\"name\":\"OpenAI: o3 Mini (batch)\",\"input\":0.55,\"output\":2.2,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"mistralai\",\"model\":\"mistralai/mistral-small-24b-instruct-2501\",\"name\":\"Mistral: Mistral Small 3\",\"input\":0.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.32,\"output\":0.8899999999999999,\"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\":\"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.09999999999999999,\"output\":0.32,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"amazon\",\"model\":\"amazon/nova-lite-v1\",\"name\":\"Amazon: Nova Lite 1.0\",\"input\":0.06,\"output\":0.24,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"amazon\",\"model\":\"amazon/nova-micro-v1\",\"name\":\"Amazon: Nova Micro 1.0\",\"input\":0.035,\"output\":0.14,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"amazon\",\"model\":\"amazon/nova-pro-v1\",\"name\":\"Amazon: Nova Pro 1.0\",\"input\":0.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\":2.5,\"output\":5,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen-2.5-7b-instruct\",\"name\":\"Qwen: Qwen2.5 7B Instruct\",\"input\":0.09999999999999999,\"output\":0.19999999999999998,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"meta-llama\",\"model\":\"meta-llama/llama-3.2-1b-instruct\",\"name\":\"Meta: Llama 3.2 1B Instruct\",\"input\":0.027,\"output\":0.201,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"meta-llama\",\"model\":\"meta-llama/llama-3.2-3b-instruct\",\"name\":\"Meta: Llama 3.2 3B Instruct\",\"input\":0.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.39999999999999997,\"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\"}];\n","// AI Pricing API (F027) — exact prices for ALL inventory models, callable from the\n// installed npm package (no fs, no bun:sqlite → bundles on an edge/browser build).\n// Backed by the bundled PRICING_DATA (trimmed inventory.json projection) with the\n// curated PRICING table (authoritative routed-provider numbers) overlaid on top.\nimport { PRICING_DATA, PRICING_GENERATED_AT, PRICING_CHECKED_AT } from \"./pricing-data.js\";\nimport { PRICING } from \"../cost/pricing.js\";\n\nexport type PriceRegion = \"eu\" | \"us\" | \"cn\" | \"other\";\n\nexport interface ModelPrice {\n /** Vendor/provider prefix (e.g. \"deepseek\", \"anthropic\"). */\n provider: string;\n /** Model id (OpenRouter-style \"vendor/model\", or the bare model for curated entries). */\n model: string;\n /** Human label, when known. */\n name?: string;\n /** USD per 1M input tokens. */\n inputPer1M: number;\n /** USD per 1M output tokens. */\n outputPer1M: number;\n /** Pricing unit (almost always \"per_1m_tokens\"). */\n unit: string;\n /** GDPR region of the host. */\n region: PriceRegion;\n /** \"curated\" = authoritative hand-maintained number; \"inventory\" = from inventory.json. */\n source: \"curated\" | \"inventory\";\n}\n\nexport interface PriceFilter {\n provider?: string;\n region?: PriceRegion;\n /** Only models at/under this USD-per-1M input rate. */\n maxInputPer1M?: number;\n /** Only $0/$0 models when true; only paid when false. */\n free?: boolean;\n}\n\n/** Final model token: strip an optional \"provider:\" prefix, then an optional \"vendor/\" path. */\nconst basename = (id: string): string => {\n let s = id.toLowerCase();\n const colon = s.lastIndexOf(\":\");\n if (colon >= 0) s = s.slice(colon + 1);\n const slash = s.lastIndexOf(\"/\");\n if (slash >= 0) s = s.slice(slash + 1);\n return s;\n};\n\n/** Region for a curated-only entry whose vendor isn't in the inventory. */\nfunction regionForProvider(provider: string): PriceRegion {\n switch (provider) {\n case \"mistral\":\n case \"mistralai\":\n return \"eu\";\n case \"deepseek\":\n return \"cn\";\n case \"anthropic\":\n case \"openai\":\n case \"google\":\n case \"x-ai\":\n case \"meta-llama\":\n return \"us\";\n default:\n return \"other\";\n }\n}\n\nlet _list: ModelPrice[] | null = null;\nlet _full: Map<string, ModelPrice> | null = null;\nlet _base: Map<string, ModelPrice> | null = null;\n\nfunction ensure(): void {\n // BEFORE the early return, so every lookup path reaches it — not only the first one\n // that happened to build the table. The once-per-process guard lives in the warner.\n warnIfPricingStale();\n if (_list) return;\n const list: ModelPrice[] = [];\n const byBase = new Map<string, ModelPrice>();\n for (const r of PRICING_DATA) {\n const e: ModelPrice = {\n provider: r.provider,\n model: r.model,\n name: r.name,\n inputPer1M: r.input,\n outputPer1M: r.output,\n unit: r.unit,\n region: ([\"eu\", \"us\", \"cn\", \"other\"].includes(r.region) ? r.region : \"other\") as PriceRegion,\n source: \"inventory\",\n };\n list.push(e);\n byBase.set(basename(r.model), e);\n }\n // Overlay the curated table (authoritative). Match on model basename; add if new.\n for (const [key, p] of Object.entries(PRICING)) {\n const ci = key.indexOf(\":\");\n const provider = ci >= 0 ? key.slice(0, ci) : \"\";\n const modelPart = ci >= 0 ? key.slice(ci + 1) : key;\n const existing = byBase.get(basename(modelPart));\n if (existing) {\n existing.inputPer1M = p.inputPer1M;\n existing.outputPer1M = p.outputPer1M;\n existing.unit = \"per_1m_tokens\";\n existing.source = \"curated\";\n } else {\n const e: ModelPrice = {\n provider,\n model: modelPart,\n inputPer1M: p.inputPer1M,\n outputPer1M: p.outputPer1M,\n unit: \"per_1m_tokens\",\n region: regionForProvider(provider),\n source: \"curated\",\n };\n list.push(e);\n byBase.set(basename(modelPart), e);\n }\n }\n _list = list;\n _base = byBase;\n _full = new Map(list.map((e) => [e.model.toLowerCase(), e]));\n}\n\n/** Exact price for a model. `modelId` accepts \"vendor/model\", \"provider:model\", or a\n * bare model/basename. Returns undefined if unknown. */\nexport function getModelPrice(modelId: string): ModelPrice | undefined {\n ensure();\n const s = modelId.trim().toLowerCase();\n return (\n _full!.get(s) ??\n (s.includes(\":\") ? _full!.get(s.slice(s.indexOf(\":\") + 1)) : undefined) ??\n _base!.get(basename(s))\n );\n}\n\n/** Every known model price (inventory, with the curated overlay applied). */\nexport function listModelPrices(): ModelPrice[] {\n ensure();\n return _list!.slice();\n}\n\n/** Filter the price list (provider / region / max input rate / free-only). */\nexport function findModelPrices(filter: PriceFilter = {}): ModelPrice[] {\n return listModelPrices().filter((m) => {\n if (filter.provider && m.provider !== filter.provider) return false;\n if (filter.region && m.region !== filter.region) return false;\n if (filter.maxInputPer1M != null && m.inputPer1M > filter.maxInputPer1M) return false;\n if (filter.free === true && (m.inputPer1M !== 0 || m.outputPer1M !== 0)) return false;\n if (filter.free === false && m.inputPer1M === 0 && m.outputPer1M === 0) return false;\n return true;\n });\n}\n\n/** Convenience USD compute for a token-priced model; undefined if unknown / not token-priced. */\nexport function priceCall(modelId: string, inputTokens: number, outputTokens: number): number | undefined {\n const p = getModelPrice(modelId);\n if (!p || p.unit !== \"per_1m_tokens\") return undefined;\n return (inputTokens / 1_000_000) * p.inputPer1M + (outputTokens / 1_000_000) * p.outputPer1M;\n}\n\n/** ISO timestamp of the inventory snapshot these prices came from.\n *\n * **This is when the NUMBERS LAST MOVED, not when we last checked them** — so it is\n * the wrong field to measure staleness with. Use {@link pricingFreshness}. Kept as-is\n * because consumers already call it and its value has not changed meaning. */\nexport function pricingGeneratedAt(): string {\n return PRICING_GENERATED_AT;\n}\n\n/** How old a price check may be before we call it stale.\n *\n * ONE constant: the `model-advisor` skill quotes the same number, and two copies of a\n * threshold drift apart until the doc and the code disagree about what \"stale\" means. */\nexport const PRICING_STALE_AFTER_DAYS = 35;\n\nexport interface PricingFreshness {\n /** When the numbers last CHANGED. */\n generatedAt: string;\n /** When we last VERIFIED them against the live catalogue. Empty on a pre-F046\n * snapshot, which means \"we cannot say\" — never \"fresh\". */\n checkedAt: string;\n /** Days since `checkedAt`; `null` when there is no check date to measure from. */\n ageDays: number | null;\n /** True when the check is older than {@link PRICING_STALE_AFTER_DAYS} — or when\n * there is no check date at all. An unanswerable question is not a pass. */\n stale: boolean;\n thresholdDays: number;\n}\n\n/** Is this price table still worth trusting? (F046)\n *\n * Measured from `checkedAt`, deliberately. Prices drift fast — one week between two\n * rebuilds produced 34 price changes, 23 new models and 15 removals, and\n * `google/gemini-3.7-flash` doubled — so a table nobody has verified is a table that\n * quietly bills the wrong number. */\n/** The pure computation, exported so a test can hand it two dates that are FAR APART.\n *\n * Without this seam the only available dates are the shipped constants, and those sit\n * seconds apart on a freshly rebuilt inventory — so a test asserting \"we measure from\n * checkedAt\" would pass just as happily on an implementation that measured from\n * generatedAt. Green because the data was friendly, which is the fault this whole\n * feature is about. */\nexport function computeFreshness(\n generatedAt: string,\n checkedAt: string,\n nowMs: number,\n): PricingFreshness {\n const t = checkedAt ? Date.parse(checkedAt) : NaN;\n const ageDays = Number.isFinite(t) ? Math.floor((nowMs - t) / 86_400_000) : null;\n return {\n generatedAt,\n checkedAt,\n ageDays,\n // No check date → stale. The absent case must not read as the healthy one; that is\n // the whole failure this feature exists to remove.\n stale: ageDays === null || ageDays > PRICING_STALE_AFTER_DAYS,\n thresholdDays: PRICING_STALE_AFTER_DAYS,\n };\n}\n\nexport function pricingFreshness(nowMs: number = Date.now()): PricingFreshness {\n return computeFreshness(PRICING_GENERATED_AT, PRICING_CHECKED_AT, nowMs);\n}\n\nlet warned = false;\n/** Warn ONCE per process that these prices are old. Called from every price lookup.\n *\n * Once, not per lookup: a library that prints on every call in a loop gets silenced,\n * and a silenced warning is the state we started from. Opt out with\n * `BROBERG_AI_SDK_SILENCE_PRICING_WARNING=1` — offered so that a consumer who does not\n * want the noise turns off the WARNING rather than abandoning the lookup. */\nexport function warnIfPricingStale(nowMs: number = Date.now()): void {\n if (warned) return;\n if (globalThis.process?.env?.BROBERG_AI_SDK_SILENCE_PRICING_WARNING) return;\n const f = pricingFreshness(nowMs);\n if (!f.stale) return;\n warned = true;\n const age = f.ageDays === null ? \"of unknown age\" : `${f.ageDays} days old`;\n console.warn(\n `[@broberg/ai-sdk] price table is ${age} (last verified ${f.checkedAt || \"never\"}, ` +\n `threshold ${f.thresholdDays}d). Prices drift: one week has produced 34 changes before. ` +\n `Refresh with \\`bun run scripts/build-inventory.ts\\` in ai-sdk, or take a newer release.`,\n );\n}\n\n/** Test-only: forget that we already warned. */\nexport function resetPricingWarningForTests(): void {\n warned = false;\n}\n"],"mappings":"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","names":[]}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  export { AvailabilitySource, AvailabilityStatus, ModelStatus, ModelUnavailableError, ResolveOptions, ResolveResult, listModels, resolveModel } from './registry.js';
3
+ export { PRICING_STALE_AFTER_DAYS, PricingFreshness, pricingFreshness, pricingGeneratedAt } from './pricing.js';
3
4
 
4
5
  /** Coarse data-residency of the endpoint a call went to.
5
6
  *
@@ -273,7 +274,9 @@ interface ImageResult {
273
274
  }
274
275
  /** Image-to-video generation (F024) — animate a still into a short clip. */
275
276
  interface AnimateRequest {
276
- /** Input image: a URL (passed through) or raw bytes (uploaded to fal storage). */
277
+ /** Input image: a URL (passed through) or raw bytes. Where bytes are uploaded is
278
+ * the ADAPTER's business — fal uses fal storage, the Gemini/Veo default inlines
279
+ * them — so do not read a storage provider out of this field. */
277
280
  image: string | Uint8Array;
278
281
  /** Motion/scene prompt, e.g. "the subject turns and smiles". */
279
282
  prompt?: string;
@@ -446,7 +449,11 @@ interface ProviderAdapter {
446
449
  translate?(req: TranslateRequest): Promise<TranslateResult>;
447
450
  vision?(req: ChatRequest): Promise<ChatResult>;
448
451
  image?(req: ImageRequest): Promise<ImageResult>;
449
- /** Image-to-video generation (F024) — animate a still into a short clip. fal. */
452
+ /** Image-to-video generation (F024) — animate a still into a short clip. gemini
453
+ * (Veo 3.1) by default; override to fal for Kling/Seedance. Name only the DEFAULT
454
+ * route here — provider-doc-drift.test.ts fails if this and DEFAULT_ANIMATE_SPEC
455
+ * disagree, because this sentence is the editor tooltip a consumer reads when
456
+ * deciding which API key to buy. */
450
457
  animate?(req: AnimateRequest): Promise<AnimateResult>;
451
458
  /** Train a style/brand LoRA from images (F021). fal. */
452
459
  trainStyle?(req: TrainStyleRequest): Promise<TrainStyleResult>;
@@ -2200,8 +2207,8 @@ declare const falStubAdapter: ProviderAdapter;
2200
2207
  * wires the live adapters. */
2201
2208
  declare const stubProviders: Record<string, ProviderAdapter>;
2202
2209
 
2203
- declare const VERSION: "0.36.6";
2204
- declare const SDK_TAG: "@broberg/ai-sdk@0.36.6";
2210
+ declare const VERSION: "0.37.0";
2211
+ declare const SDK_TAG: "@broberg/ai-sdk@0.37.0";
2205
2212
 
2206
2213
  /** Built-in defaults. Every entry is overridable via AiConfig.defaults or a
2207
2214
  * per-call override.
package/dist/index.js CHANGED
@@ -10,8 +10,11 @@ import {
10
10
  setAvailability
11
11
  } from "./chunk-ZFWSLSE7.js";
12
12
  import {
13
- getPrice
14
- } from "./chunk-TENEIW7I.js";
13
+ PRICING_STALE_AFTER_DAYS,
14
+ getPrice,
15
+ pricingFreshness,
16
+ pricingGeneratedAt
17
+ } from "./chunk-CTPTMHNX.js";
15
18
 
16
19
  // src/transport/http.ts
17
20
  async function httpTransport(req) {
@@ -959,7 +962,7 @@ function geminiAdapter(config = {}) {
959
962
  const baseUrl = config.baseUrl ?? "https://generativelanguage.googleapis.com/v1beta";
960
963
  function resolveKey() {
961
964
  const apiKey = config.apiKey ?? process.env.GOOGLE_API_KEY ?? process.env.GEMINI_API_KEY;
962
- if (!apiKey) throw new Error("gemini adapter: API key not set (env GOOGLE_API_KEY)");
965
+ if (!apiKey) throw new Error("gemini adapter: API key not set (env GOOGLE_API_KEY or GEMINI_API_KEY)");
963
966
  return apiKey;
964
967
  }
965
968
  function buildBody(req) {
@@ -1998,7 +2001,7 @@ function falAdapter(config = {}) {
1998
2001
  });
1999
2002
  async function image(req) {
2000
2003
  const apiKey = resolveKey();
2001
- if (!apiKey) throw new Error("fal adapter: FAL_KEY not set");
2004
+ if (!apiKey) throw new Error("fal adapter: API key not set (env FAL_KEY or FAL_API_KEY)");
2002
2005
  const headers = authHeaders(apiKey);
2003
2006
  const body = { prompt: req.prompt };
2004
2007
  if (req.width !== void 0 && req.height !== void 0) {
@@ -2028,7 +2031,7 @@ function falAdapter(config = {}) {
2028
2031
  }
2029
2032
  async function animate(req) {
2030
2033
  const apiKey = resolveKey();
2031
- if (!apiKey) throw new Error("fal adapter: FAL_KEY not set");
2034
+ if (!apiKey) throw new Error("fal adapter: API key not set (env FAL_KEY or FAL_API_KEY)");
2032
2035
  const headers = authHeaders(apiKey);
2033
2036
  const imageUrl = typeof req.image === "string" && /^https?:\/\//i.test(req.image) ? req.image : await uploadToFalStorage(toBytes(req.image), sniffImageType(req.image), "input", apiKey);
2034
2037
  const body = { image_url: imageUrl };
@@ -2058,7 +2061,7 @@ function falAdapter(config = {}) {
2058
2061
  }
2059
2062
  async function trainStyle(req) {
2060
2063
  const apiKey = resolveKey();
2061
- if (!apiKey) throw new Error("fal adapter: FAL_KEY not set");
2064
+ if (!apiKey) throw new Error("fal adapter: API key not set (env FAL_KEY or FAL_API_KEY)");
2062
2065
  const headers = authHeaders(apiKey);
2063
2066
  const body = {
2064
2067
  images_data_url: await resolveImagesUrl(req.images, apiKey),
@@ -2993,8 +2996,8 @@ var aiConfigSchema = z.object({
2993
2996
  });
2994
2997
 
2995
2998
  // src/version.ts
2996
- var VERSION = "0.36.6";
2997
- var SDK_TAG = "@broberg/ai-sdk@0.36.6";
2999
+ var VERSION = "0.37.0";
3000
+ var SDK_TAG = "@broberg/ai-sdk@0.37.0";
2998
3001
 
2999
3002
  // src/cost/sinks/upmetrics.ts
3000
3003
  function upmetricsSink(config) {
@@ -3090,6 +3093,11 @@ var DEFAULT_ANIMATE_SPEC = {
3090
3093
  transport: "http"
3091
3094
  };
3092
3095
  var ANIMATE_AUDIO_DIRECTIVE = "No spoken dialogue, no talking, no voiceover. Include natural ambient background sounds that match the environment.";
3096
+ function routeHasAudio(spec) {
3097
+ const m = spec.model.toLowerCase();
3098
+ if (m.includes("kling") || m.includes("seedance") || m.includes("wan-")) return false;
3099
+ return true;
3100
+ }
3093
3101
  var DEFAULT_BFL_FINETUNE_SPEC = {
3094
3102
  provider: "bfl",
3095
3103
  model: "flux-pro-1.1-ultra-finetuned",
@@ -3405,7 +3413,7 @@ function createAI(config = {}) {
3405
3413
  },
3406
3414
  async animate(input) {
3407
3415
  input = animateInputSchema.parse(input);
3408
- const prompt = input.prompt?.trim() ? `${input.prompt.trim()} ${ANIMATE_AUDIO_DIRECTIVE}` : ANIMATE_AUDIO_DIRECTIVE;
3416
+ const basePrompt = input.prompt?.trim() ?? "";
3409
3417
  return runCapability({
3410
3418
  primary: withOverride(DEFAULT_ANIMATE_SPEC, input.override, "animate"),
3411
3419
  fallback: input.fallback,
@@ -3418,9 +3426,10 @@ function createAI(config = {}) {
3418
3426
  invoke: async (spec) => {
3419
3427
  const adapter = pickProvider(spec.provider);
3420
3428
  if (!adapter.animate) throw new Error(`createAI: provider "${spec.provider}" does not support animate`);
3429
+ const prompt = routeHasAudio(spec) ? `${basePrompt} ${ANIMATE_AUDIO_DIRECTIVE}`.trim() : basePrompt;
3421
3430
  return adapter.animate({
3422
3431
  image: input.image,
3423
- prompt,
3432
+ prompt: prompt || void 0,
3424
3433
  durationSec: input.durationSec,
3425
3434
  resolution: input.resolution,
3426
3435
  spec
@@ -3984,6 +3993,7 @@ export {
3984
3993
  DEFAULT_TIER_MAP,
3985
3994
  ELEVENLABS_DANISH_VOICES,
3986
3995
  ModelUnavailableError,
3996
+ PRICING_STALE_AFTER_DAYS,
3987
3997
  SDK_TAG,
3988
3998
  StreamHttpError,
3989
3999
  UpmetricsCostError,
@@ -4032,6 +4042,8 @@ export {
4032
4042
  openrouterAdapter,
4033
4043
  parseClaudeCliJson,
4034
4044
  parseJsonLoose,
4045
+ pricingFreshness,
4046
+ pricingGeneratedAt,
4035
4047
  refreshAvailability,
4036
4048
  regionOfHost,
4037
4049
  regionOfProvider,