@broberg/ai-sdk 0.61.1 → 0.62.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/cost/media-pricing.ts","../src/catalogue/pricing-data.ts","../src/catalogue/pricing-api.ts"],"sourcesContent":["// Per-SECOND and per-IMAGE prices (F050) — the media half of the price table.\n//\n// Why this file exists at all. Until F050 these numbers lived as four private\n// `const` tables inside four adapters (gemini, vertex, fal, bfl). super measured\n// the consequence against 0.38.0: `pricingFreshness()` answered `{stale:false}`\n// while the table it measures is `per_1m_tokens` on all 448 rows — so the API\n// built to catch price drift reported \"fresh\" about numbers it structurally could\n// not see, and `getModelPrice(\"veo-3.1-generate-preview\")` was `undefined`. From\n// a call site, \"covered and fresh\" and \"not covered at all\" looked identical.\n//\n// These prices are HAND-MAINTAINED and the monthly job cannot refresh them: the\n// vendors publish them on marketing pages, not in a catalogue API (OpenRouter,\n// which backs the token table, carries no video or image model). That is exactly\n// why `checkedAt` here is a date a HUMAN typed, and why it is a separate field\n// rather than inherited from the token snapshot — an inherited date would make an\n// un-revised number look freshly verified every time the token job ran.\n//\n// The numbers themselves are UNCHANGED by this move, on purpose (F050 non-goal):\n// Veo $0.40/s and Kling $0.07/s were independently confirmed by super on 0.38.0,\n// and a refactor that silently repriced a call would be a worse bug than the\n// blindness it fixes. A test pins them.\n\n/** A price that is not per-token.\n *\n * Six units, not the two F050 was carded for. The form-forbidding test found ten\n * MORE hand-written price constants than super's report named — speech billed per\n * 1000 characters, transcription per audio-minute, OCR per page, a flat LoRA\n * training fee, and two more per-image tables. Moving only the four that had been\n * noticed would have left `caveats` reporting \"covered\" while four other units sat\n * in four adapters' private constants: the same blindness, one unit along. */\nexport type MediaUnit = \"per_sec\" | \"per_image\" | \"per_1k_chars\" | \"per_min\" | \"per_page\" | \"per_training\";\n\nexport interface MediaPrice {\n unit: MediaUnit;\n /** USD per second (video) or per generated image. */\n usd: number;\n /** ISO date a HUMAN last checked this against the vendor's published price.\n * Not derived from the monthly token job — that job never sees these. */\n checkedAt: string;\n /** Where the number comes from, so the next person can re-check it. */\n source: string;\n}\n\n/** When a human last walked the whole media table against vendor pricing pages.\n *\n * ONE date for the table rather than trusting every row's own: a row added later\n * with a fresh date would otherwise pull the table's average forward while the\n * older rows sat unrevised. Freshness reads the OLDEST answer, and this is it. */\nexport const MEDIA_PRICING_CHECKED_AT = \"2026-09-05\";\n\n/** Veo per-second USD. Same model family and the same rates on the consumer\n * Gemini API and on Vertex — one object, registered under both providers, so a\n * correction cannot land on one route and miss the other. */\nconst VEO_PER_SEC: Record<string, { usd: number; source: string }> = {\n \"veo-3.1-generate-preview\": { usd: 0.4, source: \"ai.google.dev/gemini-api/docs/pricing — video with audio, 720p/1080p (4K = 0.60)\" },\n \"veo-3.1-fast-generate-preview\": { usd: 0.1, source: \"ai.google.dev/gemini-api/docs/pricing — 720p (1080p = 0.12, 4K = 0.30)\" },\n \"veo-3.1-lite-generate-preview\": { usd: 0.05, source: \"ai.google.dev/gemini-api/docs/pricing — 720p (1080p = 0.08)\" },\n \"veo-3.0-generate-001\": { usd: 0.4, source: \"ai.google.dev/gemini-api/docs/pricing\" },\n \"veo-3.0-fast-generate-001\": { usd: 0.1, source: \"ai.google.dev/gemini-api/docs/pricing\" },\n};\n\nconst veoRows = (provider: string): Record<string, MediaPrice> =>\n Object.fromEntries(\n Object.entries(VEO_PER_SEC).map(([model, v]) => [\n `${provider}:${model}`,\n { unit: \"per_sec\" as const, usd: v.usd, checkedAt: MEDIA_PRICING_CHECKED_AT, source: v.source },\n ]),\n );\n\n/** Every non-token price the SDK bills from, keyed `provider:model`. */\nexport const MEDIA_PRICING: Record<string, MediaPrice> = {\n ...veoRows(\"gemini\"),\n ...veoRows(\"vertex\"),\n\n // fal video — fal's OFFICIAL published per-second rate, not a guess. Kling 2.5\n // Turbo Pro i2v is the blessed FAL_KEY-only image→video route: $0.35 for the\n // first 5 s + $0.07/additional s = a flat $0.07/s at 1080p.\n \"fal:fal-ai/kling-video/v2.5-turbo/pro/image-to-video\": {\n unit: \"per_sec\",\n usd: 0.07,\n checkedAt: MEDIA_PRICING_CHECKED_AT,\n source: \"fal.ai/models/fal-ai/kling-video/v2.5-turbo/pro/image-to-video\",\n },\n\n // fal images — ESTIMATES. fal bills by megapixel and changes often; fal returns\n // no price with the result, so a call costed from these carries\n // `costBasis: \"estimated\"`. Override per call with config.pricePerImage.\n \"fal:fal-ai/flux/schnell\": { unit: \"per_image\", usd: 0.003, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"fal.ai pricing — estimate, billed by megapixel\" },\n \"fal:fal-ai/flux/dev\": { unit: \"per_image\", usd: 0.025, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"fal.ai pricing — estimate, billed by megapixel\" },\n \"fal:fal-ai/flux-lora\": { unit: \"per_image\", usd: 0.025, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"fal.ai pricing — estimate, billed by megapixel\" },\n \"fal:fal-ai/flux-pro\": { unit: \"per_image\", usd: 0.05, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"fal.ai pricing — estimate, billed by megapixel\" },\n \"fal:fal-ai/flux-pro/v1.1\": { unit: \"per_image\", usd: 0.04, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"fal.ai pricing — estimate, billed by megapixel\" },\n\n // BFL — the fallback only. BFL RETURNS the real billed cost in credits, so a\n // normal call is `costBasis: \"reported\"` and never reads this row.\n \"bfl:flux-pro-1.1-ultra-finetuned\": {\n unit: \"per_image\",\n usd: 0.06,\n checkedAt: MEDIA_PRICING_CHECKED_AT,\n source: \"bfl.ai/pricing — estimate; used only when BFL omits the credit cost\",\n },\n\n // Gemini images — billed per image, not per token. Google's price RISES with\n // resolution; these are the common 1K/1024px default.\n \"gemini:gemini-2.5-flash-image\": { unit: \"per_image\", usd: 0.039, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"ai.google.dev/gemini-api/docs/pricing — 'nano-banana', 1024px = 1290 tok\" },\n \"gemini:gemini-3.1-flash-image\": { unit: \"per_image\", usd: 0.067, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"ai.google.dev/gemini-api/docs/pricing — 1K; 2K=0.101, 4K=0.151\" },\n \"gemini:gemini-3.1-flash-image-preview\": { unit: \"per_image\", usd: 0.067, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"ai.google.dev/gemini-api/docs/pricing — 1K; 2K=0.101, 4K=0.151\" },\n \"gemini:gemini-3-pro-image\": { unit: \"per_image\", usd: 0.134, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"ai.google.dev/gemini-api/docs/pricing — premium; 1K/2K=0.134, 4K=0.24\" },\n \"gemini:gemini-3-pro-image-preview\": { unit: \"per_image\", usd: 0.134, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"ai.google.dev/gemini-api/docs/pricing — premium; was mistakenly the flash price once\" },\n\n // OpenRouter images — the FALLBACK only. OpenRouter usually returns usage.cost.\n \"openrouter:recraft/recraft-v4.1\": { unit: \"per_image\", usd: 0.035, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"openrouter.ai/recraft/recraft-v4.1 — fallback when usage.cost is omitted\" },\n \"openrouter:recraft/recraft-v4.1-vector\": { unit: \"per_image\", usd: 0.08, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"openrouter.ai/recraft/recraft-v4.1-vector — fallback when usage.cost is omitted\" },\n // F063: OpenRouter prices Recraft per image-token; both rows above are that rate\n // x 4175 tokens/image exactly, so these use the same factor (measured 27/9 off\n // /api/v1/models?output_modalities=image).\n \"openrouter:recraft/recraft-v4.1-pro-vector\": { unit: \"per_image\", usd: 0.3, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"openrouter.ai/api/v1/models, measured 2026-09-27 — image_token 7.186e-5 x 4175; fallback when usage.cost is omitted\" },\n \"openrouter:recraft/recraft-v4.1-pro\": { unit: \"per_image\", usd: 0.21, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"openrouter.ai/api/v1/models, measured 2026-09-27 — image_token 5.030e-5 x 4175; fallback when usage.cost is omitted\" },\n\n // Speech OUT — billed per 1000 characters of input text.\n \"azure:tts\": { unit: \"per_1k_chars\", usd: 0.016, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"azure.microsoft.com/pricing — neural standard, $16/1M chars\" },\n \"elevenlabs:tts\": { unit: \"per_1k_chars\", usd: 0.15, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"elevenlabs.io/pricing — API overage approx $0.10-0.18/1k chars; ESTIMATE\" },\n\n // Translation — per 1000 characters. Free tier (\":fx\" key, within quota) is truly $0;\n // this rate only bites past the Pro allowance.\n \"deepl:translate\": { unit: \"per_1k_chars\", usd: 0.0217, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"deepl.com/pro-api — ESTIMATE, conflicting tier reports; verify before a budget decision\" },\n\n // Speech IN — billed per audio-minute.\n \"azure:stt\": { unit: \"per_min\", usd: 0.0167, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"azure.microsoft.com/pricing — standard STT, $1/audio-hour\" },\n \"openai:whisper-1\": { unit: \"per_min\", usd: 0.006, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"openai.com/api/pricing — Whisper\" },\n \"mistral:voxtral-mini-latest\": { unit: \"per_min\", usd: 0.002, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"mistral.ai/pricing — Voxtral\" },\n \"mistral:voxtral-mini-2507\": { unit: \"per_min\", usd: 0.002, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"mistral.ai/pricing — Voxtral\" },\n \"mistral:voxtral-mini-2602\": { unit: \"per_min\", usd: 0.002, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"mistral.ai/pricing — Voxtral\" },\n\n // OCR — per page.\n \"mistral:ocr\": { unit: \"per_page\", usd: 0.004, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"Mistral mail 2026-09-30 (OCR 4.1): $4/1000 pages direct; $2/1000 is the Batch-API price, which ai.ocr does not use\" },\n\n // A flat fee per training run, not per anything produced.\n \"fal:train\": { unit: \"per_training\", usd: 2.0, checkedAt: MEDIA_PRICING_CHECKED_AT, source: \"fal.ai/models/fal-ai/flux-lora-fast-training — approx $2, ESTIMATE\" },\n};\n\n/** Default clip length billed when the caller passes no `durationSec`.\n *\n * It is an ASSUMPTION, not a measurement — the provider does not tell us how long\n * the clip it returned actually is. Every cost derived from it is stamped\n * `costBasis: \"estimated\"` so a consumer (and upmetrics) can tell it apart from a\n * cost computed off a real duration. super reported using such a number as if it\n * were measured and passing it on to Christian; that is the damage this stamp\n * removes. */\nexport const DEFAULT_CLIP_SEC = 8;\n\n/** Look up a non-token price. Unknown → undefined (never a fabricated 0). */\nexport function getMediaPrice(provider: string, model: string): MediaPrice | undefined {\n return MEDIA_PRICING[`${provider}:${model}`];\n}\n\n/** Rows per unit, for the freshness API's coverage report. */\nexport function mediaUnitCounts(): Record<MediaUnit, number> {\n // Every unit listed explicitly, so one that loses its last row reports 0 rather\n // than vanishing from the object — an absent key is what a caller never notices.\n const counts: Record<MediaUnit, number> = {\n per_sec: 0,\n per_image: 0,\n per_1k_chars: 0,\n per_min: 0,\n per_page: 0,\n per_training: 0,\n };\n for (const p of Object.values(MEDIA_PRICING)) counts[p.unit]++;\n return counts;\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-10-05T19:43:46.047Z\";\nexport const PRICING_CHECKED_AT = \"2026-10-05T19:43:46.047Z\";\nexport const PRICING_DATA: ModelPriceRaw[] = [{\"provider\":\"inclusionai\",\"model\":\"inclusionai/ling-3.1-flash\",\"name\":\"inclusionAI: Ling 3.1 Flash\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"apodex\",\"model\":\"apodex/apodex-1.1-mini:free\",\"name\":\"Apodex: Apodex 1.1 Mini (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"unbiased\",\"model\":\"unbiased/pareto-26.10-preview\",\"name\":\"Pareto 26.10 Preview\",\"input\":0.7999999999999999,\"output\":3.1999999999999997,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-6.1-sol-pro\",\"name\":\"OpenAI: GPT-6.1 Sol Pro\",\"input\":2,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-6.1-sol\",\"name\":\"OpenAI: GPT-6.1 Sol\",\"input\":2,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-sonnet-5.5\",\"name\":\"Anthropic: Claude Sonnet 5.5\",\"input\":2,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-sonnet-5.5:batch\",\"name\":\"Anthropic: Claude Sonnet 5.5 (batch)\",\"input\":1,\"output\":5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"typesafe\",\"model\":\"typesafe/jev-router\",\"name\":\"TypeSafe: Jev Router\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"perceptron\",\"model\":\"perceptron/perceptron-mk1.5\",\"name\":\"Perceptron: Perceptron Mk1.5\",\"input\":0.15,\"output\":1.5,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"fireworks\",\"model\":\"fireworks/ember-1\",\"name\":\"Fireworks: Ember-1\",\"input\":3,\"output\":15,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"z-ai\",\"model\":\"z-ai/glm-5.3-prime\",\"name\":\"Z.ai: GLM 5.3 Prime\",\"input\":2.8,\"output\":8.8,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.8-max-prime\",\"name\":\"Qwen: Qwen3.8 Max Prime\",\"input\":4,\"output\":12,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"aion-labs\",\"model\":\"aion-labs/aion-3.5-mini\",\"name\":\"AionLabs: Aion 3.5 Mini\",\"input\":0.7,\"output\":1.4,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"aion-labs\",\"model\":\"aion-labs/aion-3.5\",\"name\":\"AionLabs: Aion 3.5\",\"input\":3,\"output\":6,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"upstage\",\"model\":\"upstage/solar-mini4\",\"name\":\"Upstage: Solar Mini 4\",\"input\":0.049999999999999996,\"output\":0.19999999999999998,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"cohere\",\"model\":\"cohere/command-a-plus\",\"name\":\"Cohere: Command A+\",\"input\":0.3,\"output\":1.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-6-luna-pro\",\"name\":\"OpenAI: GPT-6 Luna Pro\",\"input\":0.09999999999999999,\"output\":0.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-6-luna-pro:batch\",\"name\":\"OpenAI: GPT-6 Luna Pro (batch)\",\"input\":0.049999999999999996,\"output\":0.25,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-6-luna\",\"name\":\"OpenAI: GPT-6 Luna\",\"input\":0.09999999999999999,\"output\":0.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-6-luna:batch\",\"name\":\"OpenAI: GPT-6 Luna (batch)\",\"input\":0.049999999999999996,\"output\":0.25,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-6-sol-pro\",\"name\":\"OpenAI: GPT-6 Sol Pro\",\"input\":2,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-6-sol-pro:batch\",\"name\":\"OpenAI: GPT-6 Sol Pro (batch)\",\"input\":1,\"output\":5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-6-sol\",\"name\":\"OpenAI: GPT-6 Sol\",\"input\":2,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-6-sol:batch\",\"name\":\"OpenAI: GPT-6 Sol (batch)\",\"input\":1,\"output\":5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-opus-5.5\",\"name\":\"Anthropic: Claude Opus 5.5\",\"input\":4,\"output\":20,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-opus-5.5:batch\",\"name\":\"Anthropic: Claude Opus 5.5 (batch)\",\"input\":2,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"nvidia\",\"model\":\"nvidia/switchyard\",\"name\":\"NVIDIA: Switchyard\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"xiaomi\",\"model\":\"xiaomi/mimo-v2.6-pro-ultraspeed\",\"name\":\"Xiaomi: MiMo-V2.6-Pro-UltraSpeed\",\"input\":4.35,\"output\":8.7,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"xiaomi\",\"model\":\"xiaomi/mimo-v2.6-flash\",\"name\":\"Xiaomi: MiMo-V2.6-Flash\",\"input\":0.14,\"output\":0.28,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"xiaomi\",\"model\":\"xiaomi/mimo-v2.6-pro\",\"name\":\"Xiaomi: MiMo-V2.6-Pro\",\"input\":0.435,\"output\":0.87,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"x-ai\",\"model\":\"x-ai/grok-4.7\",\"name\":\"SpaceXAI: Grok 4.7\",\"input\":2,\"output\":6,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.8-omni-flash\",\"name\":\"Qwen: Qwen3.8 Omni Flash\",\"input\":0.15,\"output\":0.47,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"prism-ml\",\"model\":\"prism-ml/ternary-bonsai-2-27b\",\"name\":\"PrismML: Ternary Bonsai 2 27B\",\"input\":0.075,\"output\":0.5,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"z-ai\",\"model\":\"z-ai/glm-5.3-flashx\",\"name\":\"Z.ai: GLM 5.3 FlashX\",\"input\":0.37,\"output\":1.25,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"unbiased\",\"model\":\"unbiased/pareto\",\"name\":\"Pareto\",\"input\":2.5,\"output\":7.5,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"~deepseek\",\"model\":\"~deepseek/deepseek-pro-latest\",\"name\":\"DeepSeek: DeepSeek Pro Latest\",\"input\":0.1901,\"output\":4.199999999999999,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"~deepseek\",\"model\":\"~deepseek/deepseek-flash-latest\",\"name\":\"DeepSeek: DeepSeek Flash Latest\",\"input\":0.003,\"output\":2.4,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"inference-net\",\"model\":\"inference-net/schematron-v2-turbo\",\"name\":\"Inference.net: Schematron V2 Turbo\",\"input\":0.03,\"output\":0.15,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"inference-net\",\"model\":\"inference-net/schematron-v2-small\",\"name\":\"Inference.net: Schematron V2 Small\",\"input\":0.049999999999999996,\"output\":0.22999999999999998,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"~openai\",\"model\":\"~openai/gpt-astra-latest\",\"name\":\"OpenAI: GPT Astra Latest\",\"input\":10,\"output\":50,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"~openai\",\"model\":\"~openai/gpt-sol-latest\",\"name\":\"OpenAI: GPT Sol Latest\",\"input\":2,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"~openai\",\"model\":\"~openai/gpt-terra-latest\",\"name\":\"OpenAI: GPT Terra Latest\",\"input\":2,\"output\":12,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"~openai\",\"model\":\"~openai/gpt-luna-latest\",\"name\":\"OpenAI: GPT Luna Latest\",\"input\":0.09999999999999999,\"output\":0.5,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"sakana\",\"model\":\"sakana/fugu-ultra-v2\",\"name\":\"Sakana: Fugu Ultra v2\",\"input\":5,\"output\":30,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"sakana\",\"model\":\"sakana/fugu-max\",\"name\":\"Sakana: Fugu Max\",\"input\":2,\"output\":6,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"inclusionai\",\"model\":\"inclusionai/ling-3.0-flash-vl\",\"name\":\"inclusionAI: Ling 3.0 Flash VL\",\"input\":0.020999999999999998,\"output\":0.061599999999999995,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v4.1-flash\",\"name\":\"DeepSeek: DeepSeek V4.1 Flash\",\"input\":0.3,\"output\":1.2,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v4.1-flash:batch\",\"name\":\"DeepSeek: DeepSeek V4.1 Flash (batch)\",\"input\":0.112,\"output\":0.33599999999999997,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"inception\",\"model\":\"inception/mercury-2.5\",\"name\":\"Inception: Mercury 2.5\",\"input\":0.04,\"output\":0.15,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"nex-agi\",\"model\":\"nex-agi/nex-n2.5-mini\",\"name\":\"Nex AGI: Nex-N2.5-Mini\",\"input\":0.024999999999999998,\"output\":0.09999999999999999,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"nex-agi\",\"model\":\"nex-agi/nex-n2.5-pro\",\"name\":\"Nex AGI: Nex-N2.5-Pro\",\"input\":0.075,\"output\":0.25,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-6-astra\",\"name\":\"OpenAI: GPT-6 Astra\",\"input\":10,\"output\":50,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-6-astra:batch\",\"name\":\"OpenAI: GPT-6 Astra (batch)\",\"input\":5,\"output\":25,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-6-astra-pro\",\"name\":\"OpenAI: GPT-6 Astra Pro\",\"input\":10,\"output\":50,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-6-astra-pro:batch\",\"name\":\"OpenAI: GPT-6 Astra Pro (batch)\",\"input\":5,\"output\":25,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"inclusionai\",\"model\":\"inclusionai/ling-3.0-flash-sante:free\",\"name\":\"inclusionAI: Ling 3.0 Flash Sante (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.8-max-0902\",\"name\":\"Qwen: Qwen3.8 Max (0902)\",\"input\":2,\"output\":6,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"meta\",\"model\":\"meta/muse-spark-1.3-contributor\",\"name\":\"Meta: Muse Spark 1.3 Contributor\",\"input\":0.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\":\"ibm-granite\",\"model\":\"ibm-granite/granite-4.2-8b\",\"name\":\"IBM: Granite 4.2 8B\",\"input\":0.06,\"output\":0.25,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"tencent\",\"model\":\"tencent/hy4-preview\",\"name\":\"Tencent: Hy4 preview\",\"input\":0.7505999999999999,\"output\":2.2509,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"inclusionai\",\"model\":\"inclusionai/ling-3.0-flash-fin\",\"name\":\"inclusionAI: Ling 3.0 Flash Fin\",\"input\":0.041999999999999996,\"output\":0.12319999999999999,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"~z-ai\",\"model\":\"~z-ai/glm-flash-latest\",\"name\":\"Z.ai: GLM Flash Latest\",\"input\":0.035199999999999995,\"output\":0.5,\"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.15,\"output\":0.5,\"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.06,\"output\":0.19999999999999998,\"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.21559999999999999,\"output\":0.6468,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"tencent\",\"model\":\"tencent/hy-mt2-1.8b\",\"name\":\"Tencent: Hy-MT2-1.8B\",\"input\":0.044,\"output\":0.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\":0.03,\"output\":12,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"tencent\",\"model\":\"tencent/hy-mt2-7b\",\"name\":\"Tencent: Hy-MT2-7B\",\"input\":0.074,\"output\":0.295,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"z-ai\",\"model\":\"z-ai/glm-5.3\",\"name\":\"Z.ai: GLM 5.3\",\"input\":0.06,\"output\":7,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"z-ai\",\"model\":\"z-ai/glm-5.3:batch\",\"name\":\"Z.ai: GLM 5.3 (batch)\",\"input\":0.44999999999999996,\"output\":2,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.8-27b\",\"name\":\"Qwen: Qwen3.8 27B\",\"input\":0.425,\"output\":2.5500000000000003,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"dots-studio\",\"model\":\"dots-studio/dots-3-note-preview:free\",\"name\":\"Dots Studio: Dots3-Note Preview (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.7-flash\",\"name\":\"Google: Gemini 3.7 Flash\",\"input\":0.75,\"output\":3.75,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.7-flash:batch\",\"name\":\"Google: Gemini 3.7 Flash (batch)\",\"input\":0.375,\"output\":1.875,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"bytedance-seed\",\"model\":\"bytedance-seed/seed-2-1-turbo\",\"name\":\"ByteDance Seed: Seed 2.1 Turbo\",\"input\":0.5,\"output\":2.5,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.8-2.4t-a95b\",\"name\":\"Qwen: Qwen3.8 2.4T A95B\",\"input\":2,\"output\":6,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"bytedance-seed\",\"model\":\"bytedance-seed/seed-2.0-code\",\"name\":\"ByteDance Seed: Seed-2.0-Code\",\"input\":0.5,\"output\":3,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v4-pro-0813\",\"name\":\"DeepSeek: DeepSeek V4 Pro 0813\",\"input\":0.39999999999999997,\"output\":5,\"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.06,\"output\":0.16,\"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.09,\"output\":0.36,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"meta\",\"model\":\"meta/muse-glimmer-30b\",\"name\":\"Meta: Muse Glimmer 30B\",\"input\":0.35,\"output\":1.5,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"meta\",\"model\":\"meta/muse-spark-1.2\",\"name\":\"Meta: Muse Spark 1.2\",\"input\":1.25,\"output\":4.25,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"~deepseek\",\"model\":\"~deepseek/deepseek-v4-flash-latest\",\"name\":\"DeepSeek: DeepSeek V4 Flash Latest\",\"input\":0.0152,\"output\":1.28,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v4-flash-0731\",\"name\":\"DeepSeek: DeepSeek V4 Flash 0731\",\"input\":0.0152,\"output\":1.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:free\",\"name\":\"Thinking Machines: Inkling Small (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.7-flash\",\"name\":\"Qwen: Qwen3.7 Flash\",\"input\":0.03,\"output\":0.13,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-opus-5\",\"name\":\"Anthropic: Claude Opus 5\",\"input\":5,\"output\":25,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-opus-5:batch\",\"name\":\"Anthropic: Claude Opus 5 (batch)\",\"input\":2.5,\"output\":12.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"inclusionai\",\"model\":\"inclusionai/ling-3.0-flash\",\"name\":\"inclusionAI: Ling 3.0 Flash\",\"input\":0.020999999999999998,\"output\":0.063,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"poolside\",\"model\":\"poolside/laguna-s-2.1\",\"name\":\"Poolside: Laguna S 2.1\",\"input\":0.09,\"output\":0.18,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"poolside\",\"model\":\"poolside/laguna-s-2.1:free\",\"name\":\"Poolside: Laguna S 2.1 (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.6-flash\",\"name\":\"Google: Gemini 3.6 Flash\",\"input\":0.75,\"output\":3.75,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.6-flash:batch\",\"name\":\"Google: Gemini 3.6 Flash (batch)\",\"input\":0.375,\"output\":1.875,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.5-flash-lite\",\"name\":\"Google: Gemini 3.5 Flash Lite\",\"input\":0.3,\"output\":2.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.5-flash-lite:batch\",\"name\":\"Google: Gemini 3.5 Flash Lite (batch)\",\"input\":0.15,\"output\":1.25,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"meituan\",\"model\":\"meituan/longcat-2.0\",\"name\":\"Meituan: LongCat 2.0\",\"input\":0.3,\"output\":1.2,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"thinkingmachines\",\"model\":\"thinkingmachines/inkling\",\"name\":\"Thinking Machines: Inkling\",\"input\":0.95,\"output\":4.05,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"thinkingmachines\",\"model\":\"thinkingmachines/inkling: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\":1.3900000000000001,\"output\":14,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"moonshotai\",\"model\":\"moonshotai/kimi-k3:batch\",\"name\":\"MoonshotAI: Kimi K3 (batch)\",\"input\":2.2800000000000002,\"output\":11.399999999999999,\"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\":\"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.04,\"output\":12,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"openrouter\",\"model\":\"openrouter/fusion\",\"name\":\"OpenRouter: Fusion\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"moonshotai\",\"model\":\"moonshotai/kimi-k2.7-code\",\"name\":\"MoonshotAI: Kimi K2.7 Code\",\"input\":0.6712,\"output\":3.35,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"~anthropic\",\"model\":\"~anthropic/claude-fable-latest\",\"name\":\"Anthropic: Claude Fable Latest\",\"input\":10,\"output\":50,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-fable-5\",\"name\":\"Anthropic: Claude Fable 5\",\"input\":10,\"output\":50,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-fable-5:batch\",\"name\":\"Anthropic: Claude Fable 5 (batch)\",\"input\":5,\"output\":25,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"nvidia\",\"model\":\"nvidia/nemotron-3.5-content-safety\",\"name\":\"NVIDIA: Nemotron 3.5 Content Safety\",\"input\":0.19999999999999998,\"output\":0.19999999999999998,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"nvidia\",\"model\":\"nvidia/nemotron-3.5-content-safety:free\",\"name\":\"NVIDIA: Nemotron 3.5 Content Safety (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"nvidia\",\"model\":\"nvidia/nemotron-3-ultra-550b-a55b\",\"name\":\"NVIDIA: Nemotron 3 Ultra\",\"input\":0.5,\"output\":2.2,\"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\":\"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\":\"x-ai\",\"model\":\"x-ai/grok-4.3:batch\",\"name\":\"SpaceXAI: Grok 4.3 (batch)\",\"input\":1,\"output\":2,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"mistralai\",\"model\":\"mistralai/mistral-medium-3-5\",\"name\":\"Mistral: Mistral Medium 3.5\",\"input\":1.5,\"output\":7.5,\"unit\":\"per_1m_tokens\",\"region\":\"eu\"},{\"provider\":\"mistralai\",\"model\":\"mistralai/mistral-medium-3-5:batch\",\"name\":\"Mistral: Mistral Medium 3.5 (batch)\",\"input\":0.75,\"output\":3.75,\"unit\":\"per_1m_tokens\",\"region\":\"eu\"},{\"provider\":\"nvidia\",\"model\":\"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free\",\"name\":\"NVIDIA: Nemotron 3 Nano Omni (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"~anthropic\",\"model\":\"~anthropic/claude-haiku-latest\",\"name\":\"Anthropic: Claude Haiku Latest\",\"input\":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\":0.777,\"output\":13,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"~google\",\"model\":\"~google/gemini-flash-latest\",\"name\":\"Google: Gemini Flash Latest\",\"input\":0.75,\"output\":3.75,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"~anthropic\",\"model\":\"~anthropic/claude-sonnet-latest\",\"name\":\"Anthropic: Claude Sonnet Latest\",\"input\":2,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.5-plus-20260420\",\"name\":\"Qwen: Qwen3.5 Plus 2026-04-20\",\"input\":0.3,\"output\":1.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.15,\"output\":1,\"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.32,\"output\":3.25,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.5-pro\",\"name\":\"OpenAI: GPT-5.5 Pro\",\"input\":30,\"output\":180,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.5-pro:batch\",\"name\":\"OpenAI: GPT-5.5 Pro (batch)\",\"input\":15,\"output\":90,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.5\",\"name\":\"OpenAI: GPT-5.5\",\"input\":5,\"output\":30,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.5:batch\",\"name\":\"OpenAI: GPT-5.5 (batch)\",\"input\":2.5,\"output\":15,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v4-pro\",\"name\":\"DeepSeek: DeepSeek V4 Pro 0423\",\"input\":0.20879999999999999,\"output\":0.41759999999999997,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v4-flash\",\"name\":\"DeepSeek: DeepSeek V4 Flash 0423\",\"input\":0.03,\"output\":1.28,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"tencent\",\"model\":\"tencent/hy3-preview\",\"name\":\"Tencent: Hy3 preview\",\"input\":0.18,\"output\":0.6,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"xiaomi\",\"model\":\"xiaomi/mimo-v2.5-pro\",\"name\":\"Xiaomi: MiMo-V2.5-Pro\",\"input\":0.435,\"output\":0.87,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"xiaomi\",\"model\":\"xiaomi/mimo-v2.5\",\"name\":\"Xiaomi: MiMo-V2.5\",\"input\":0.14,\"output\":0.28,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.4-image-2\",\"name\":\"OpenAI: GPT-5.4 Image 2\",\"input\":8,\"output\":15,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"~anthropic\",\"model\":\"~anthropic/claude-opus-latest\",\"name\":\"Anthropic: Claude Opus Latest\",\"input\":4,\"output\":20,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"openrouter\",\"model\":\"openrouter/pareto-code\",\"name\":\"Pareto Code Router\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"moonshotai\",\"model\":\"moonshotai/kimi-k2.6\",\"name\":\"MoonshotAI: Kimi K2.6\",\"input\":0.95,\"output\":4,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-opus-4.7\",\"name\":\"Anthropic: Claude Opus 4.7\",\"input\":5,\"output\":25,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-opus-4.7:batch\",\"name\":\"Anthropic: Claude Opus 4.7 (batch)\",\"input\":2.5,\"output\":12.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"z-ai\",\"model\":\"z-ai/glm-5.1\",\"name\":\"Z.ai: GLM 5.1\",\"input\":1.4,\"output\":4.4,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"google\",\"model\":\"google/gemma-4-26b-a4b-it\",\"name\":\"Google: Gemma 4 26B A4B \",\"input\":0.0765,\"output\":0.255,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemma-4-26b-a4b-it:free\",\"name\":\"Google: Gemma 4 26B A4B (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemma-4-31b-it\",\"name\":\"Google: Gemma 4 31B\",\"input\":0.09,\"output\":0.33999999999999997,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemma-4-31b-it:free\",\"name\":\"Google: Gemma 4 31B (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.6-plus\",\"name\":\"Qwen: Qwen3.6 Plus\",\"input\":0.325,\"output\":1.95,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"z-ai\",\"model\":\"z-ai/glm-5v-turbo\",\"name\":\"Z.ai: GLM 5V Turbo\",\"input\":1.2,\"output\":4,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"arcee-ai\",\"model\":\"arcee-ai/trinity-large-thinking\",\"name\":\"Arcee AI: Trinity Large Thinking\",\"input\":0.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\":\"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.21,\"output\":0.84,\"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\":\"mistralai\",\"model\":\"mistralai/mistral-small-2603:batch\",\"name\":\"Mistral: Mistral Small 4 (batch)\",\"input\":0.075,\"output\":0.3,\"unit\":\"per_1m_tokens\",\"region\":\"eu\"},{\"provider\":\"z-ai\",\"model\":\"z-ai/glm-5-turbo\",\"name\":\"Z.ai: GLM 5 Turbo\",\"input\":1.2,\"output\":4,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"nvidia\",\"model\":\"nvidia/nemotron-3-super-120b-a12b\",\"name\":\"NVIDIA: Nemotron 3 Super\",\"input\":0.08,\"output\":0.44999999999999996,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"nvidia\",\"model\":\"nvidia/nemotron-3-super-120b-a12b:free\",\"name\":\"NVIDIA: Nemotron 3 Super (free)\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"bytedance-seed\",\"model\":\"bytedance-seed/seed-2.0-lite\",\"name\":\"ByteDance Seed: Seed-2.0-Lite\",\"input\":0.25,\"output\":2,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.5-9b\",\"name\":\"Qwen: Qwen3.5-9B\",\"input\":0.09999999999999999,\"output\":0.15,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.4-pro\",\"name\":\"OpenAI: GPT-5.4 Pro\",\"input\":30,\"output\":180,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.4-pro:batch\",\"name\":\"OpenAI: GPT-5.4 Pro (batch)\",\"input\":15,\"output\":90,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.4\",\"name\":\"OpenAI: GPT-5.4\",\"input\":2.5,\"output\":15,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.4:batch\",\"name\":\"OpenAI: GPT-5.4 (batch)\",\"input\":1.25,\"output\":7.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"inception\",\"model\":\"inception/mercury-2\",\"name\":\"Inception: Mercury 2\",\"input\":0.25,\"output\":0.75,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.1-flash-lite-preview\",\"name\":\"Google: Gemini 3.1 Flash Lite Preview\",\"input\":0.25,\"output\":1.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"bytedance-seed\",\"model\":\"bytedance-seed/seed-2.0-mini\",\"name\":\"ByteDance Seed: Seed-2.0-Mini\",\"input\":0.09999999999999999,\"output\":0.39999999999999997,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.1-flash-image-preview\",\"name\":\"Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)\",\"input\":0.5,\"output\":3,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.5-35b-a3b\",\"name\":\"Qwen: Qwen3.5-35B-A3B\",\"input\":0.15,\"output\":1,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.5-27b\",\"name\":\"Qwen: Qwen3.5-27B\",\"input\":0.195,\"output\":1.56,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.5-122b-a10b\",\"name\":\"Qwen: Qwen3.5-122B-A10B\",\"input\":0.26,\"output\":2.08,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.5-flash-02-23\",\"name\":\"Qwen: Qwen3.5-Flash\",\"input\":0.065,\"output\":0.26,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.1-pro-preview-customtools\",\"name\":\"Google: Gemini 3.1 Pro Preview Custom Tools\",\"input\":2,\"output\":12,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.3-codex\",\"name\":\"OpenAI: GPT-5.3-Codex\",\"input\":1.75,\"output\":14,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"aion-labs\",\"model\":\"aion-labs/aion-2.0\",\"name\":\"AionLabs: Aion-2.0\",\"input\":0.7999999999999999,\"output\":1.5999999999999999,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.1-pro-preview\",\"name\":\"Google: Gemini 3.1 Pro Preview\",\"input\":2,\"output\":12,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-3.1-pro-preview:batch\",\"name\":\"Google: Gemini 3.1 Pro Preview (batch)\",\"input\":1,\"output\":6,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-sonnet-4.6\",\"name\":\"Anthropic: Claude Sonnet 4.6\",\"input\":3,\"output\":15,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-sonnet-4.6:batch\",\"name\":\"Anthropic: Claude Sonnet 4.6 (batch)\",\"input\":1.5,\"output\":7.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.5-plus-02-15\",\"name\":\"Qwen: Qwen3.5 Plus 2026-02-15\",\"input\":0.26,\"output\":1.56,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3.5-397b-a17b\",\"name\":\"Qwen: Qwen3.5 397B A17B\",\"input\":0.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.060500000000000005,\"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.6,\"output\":2.2,\"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-8b-2512:batch\",\"name\":\"Mistral: Ministral 3 8B 2512 (batch)\",\"input\":0.075,\"output\":0.075,\"unit\":\"per_1m_tokens\",\"region\":\"eu\"},{\"provider\":\"mistralai\",\"model\":\"mistralai/ministral-3b-2512\",\"name\":\"Mistral: Ministral 3 3B 2512\",\"input\":0.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\":\"mistralai\",\"model\":\"mistralai/mistral-large-2512:batch\",\"name\":\"Mistral: Mistral Large 3 2512 (batch)\",\"input\":0.25,\"output\":0.75,\"unit\":\"per_1m_tokens\",\"region\":\"eu\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v3.2\",\"name\":\"DeepSeek: DeepSeek V3.2\",\"input\":0.28,\"output\":0.42,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-opus-4.5\",\"name\":\"Anthropic: Claude Opus 4.5\",\"input\":5,\"output\":25,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-opus-4.5:batch\",\"name\":\"Anthropic: Claude Opus 4.5 (batch)\",\"input\":2.5,\"output\":12.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-3-pro-image-preview\",\"name\":\"Google: Nano Banana Pro (Gemini 3 Pro Image Preview)\",\"input\":2,\"output\":12,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.1\",\"name\":\"OpenAI: GPT-5.1\",\"input\":1.25,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.1:batch\",\"name\":\"OpenAI: GPT-5.1 (batch)\",\"input\":0.625,\"output\":5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.1-codex\",\"name\":\"OpenAI: GPT-5.1-Codex\",\"input\":1.25,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-5.1-codex-mini\",\"name\":\"OpenAI: GPT-5.1-Codex-Mini\",\"input\":0.25,\"output\":2,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"moonshotai\",\"model\":\"moonshotai/kimi-k2-thinking\",\"name\":\"MoonshotAI: Kimi K2 Thinking\",\"input\":0.6,\"output\":2.5,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"amazon\",\"model\":\"amazon/nova-premier-v1\",\"name\":\"Amazon: Nova Premier 1.0\",\"input\":2.5,\"output\":12.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"perplexity\",\"model\":\"perplexity/sonar-pro-search\",\"name\":\"Perplexity: Sonar Pro Search\",\"input\":3,\"output\":15,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"mistralai\",\"model\":\"mistralai/voxtral-small-24b-2507\",\"name\":\"Mistral: Voxtral Small 24B 2507\",\"input\":0.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.3,\"output\":1.2,\"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.43,\"output\":1.75,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-sonnet-4.5\",\"name\":\"Anthropic: Claude Sonnet 4.5\",\"input\":3,\"output\":15,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-sonnet-4.5:batch\",\"name\":\"Anthropic: Claude Sonnet 4.5 (batch)\",\"input\":1.5,\"output\":7.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v3.2-exp\",\"name\":\"DeepSeek: DeepSeek V3.2 Exp\",\"input\":0.27,\"output\":0.41,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"thedrummer\",\"model\":\"thedrummer/cydonia-24b-v4.1\",\"name\":\"TheDrummer: Cydonia 24B V4.1\",\"input\":0.3,\"output\":0.5,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"relace\",\"model\":\"relace/relace-apply-3\",\"name\":\"Relace: Relace Apply 3\",\"input\":0.85,\"output\":1.25,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3-vl-235b-a22b-thinking\",\"name\":\"Qwen: Qwen3 VL 235B A22B Thinking\",\"input\":0.39999999999999997,\"output\":4,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3-vl-235b-a22b-instruct\",\"name\":\"Qwen: Qwen3 VL 235B A22B Instruct\",\"input\":0.21,\"output\":1.9,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3-max\",\"name\":\"Qwen: Qwen3 Max\",\"input\":0.78,\"output\":3.9,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"qwen\",\"model\":\"qwen/qwen3-coder-plus\",\"name\":\"Qwen: Qwen3 Coder Plus\",\"input\":0.65,\"output\":3.25,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-v3.1-terminus\",\"name\":\"DeepSeek: DeepSeek V3.1 Terminus\",\"input\":0.3,\"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-405b\",\"name\":\"Nous: Hermes 4 405B\",\"input\":1,\"output\":3,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-chat-v3.1\",\"name\":\"DeepSeek: DeepSeek V3.1\",\"input\":0.25,\"output\":0.95,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"mistralai\",\"model\":\"mistralai/mistral-medium-3.1\",\"name\":\"Mistral: Mistral Medium 3.1\",\"input\":0.39999999999999997,\"output\":2,\"unit\":\"per_1m_tokens\",\"region\":\"eu\"},{\"provider\":\"mistralai\",\"model\":\"mistralai/mistral-medium-3.1:batch\",\"name\":\"Mistral: Mistral Medium 3.1 (batch)\",\"input\":0.19999999999999998,\"output\":1,\"unit\":\"per_1m_tokens\",\"region\":\"eu\"},{\"provider\":\"z-ai\",\"model\":\"z-ai/glm-4.5v\",\"name\":\"Z.ai: GLM 4.5V\",\"input\":0.6,\"output\":1.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.0296,\"output\":0.136,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-oss-20b\",\"name\":\"OpenAI: gpt-oss-20b\",\"input\":0.018,\"output\":0.09,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-oss-20b:batch\",\"name\":\"OpenAI: gpt-oss-20b (batch)\",\"input\":0.024,\"output\":0.112,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-opus-4.1\",\"name\":\"Anthropic: Claude Opus 4.1\",\"input\":15,\"output\":75,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"anthropic\",\"model\":\"anthropic/claude-opus-4.1:batch\",\"name\":\"Anthropic: Claude Opus 4.1 (batch)\",\"input\":7.5,\"output\":37.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"mistralai\",\"model\":\"mistralai/codestral-2508\",\"name\":\"Mistral: Codestral 2508\",\"input\":0.3,\"output\":0.8999999999999999,\"unit\":\"per_1m_tokens\",\"region\":\"eu\"},{\"provider\":\"mistralai\",\"model\":\"mistralai/codestral-2508:batch\",\"name\":\"Mistral: Codestral 2508 (batch)\",\"input\":0.15,\"output\":0.44999999999999996,\"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.09375,\"output\":0.25,\"unit\":\"per_1m_tokens\",\"region\":\"eu\"},{\"provider\":\"minimax\",\"model\":\"minimax/minimax-m1\",\"name\":\"MiniMax: MiniMax M1\",\"input\":0.55,\"output\":2.2,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"google\",\"model\":\"google/gemini-2.5-flash\",\"name\":\"Google: Gemini 2.5 Flash\",\"input\":0.3,\"output\":2.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-2.5-flash:batch\",\"name\":\"Google: Gemini 2.5 Flash (batch)\",\"input\":0.15,\"output\":1.25,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-2.5-pro\",\"name\":\"Google: Gemini 2.5 Pro\",\"input\":1.25,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-2.5-pro:batch\",\"name\":\"Google: Gemini 2.5 Pro (batch)\",\"input\":0.625,\"output\":5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/o3-pro\",\"name\":\"OpenAI: o3 Pro\",\"input\":20,\"output\":80,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"google\",\"model\":\"google/gemini-2.5-pro-preview\",\"name\":\"Google: Gemini 2.5 Pro Preview 06-05\",\"input\":1.25,\"output\":10,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-r1-0528\",\"name\":\"DeepSeek: R1 0528\",\"input\":0.5,\"output\":2.1500000000000004,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"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\":\"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.1875,\"output\":0.6525,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"meta-llama\",\"model\":\"meta-llama/llama-4-scout\",\"name\":\"Meta: Llama 4 Scout\",\"input\":0.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.29,\"output\":1.1400000000000001,\"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\",\"name\":\"DeepSeek: R1\",\"input\":0.7,\"output\":2.5,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"minimax\",\"model\":\"minimax/minimax-01\",\"name\":\"MiniMax: MiniMax-01\",\"input\":0.19999999999999998,\"output\":1.1,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"microsoft\",\"model\":\"microsoft/phi-4\",\"name\":\"Microsoft: Phi 4\",\"input\":0.07,\"output\":0.14,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"deepseek\",\"model\":\"deepseek/deepseek-chat\",\"name\":\"DeepSeek: DeepSeek V3\",\"input\":0.2574,\"output\":1.0287,\"unit\":\"per_1m_tokens\",\"region\":\"cn\"},{\"provider\":\"sao10k\",\"model\":\"sao10k/l3.3-euryale-70b\",\"name\":\"Sao10K: Llama 3.3 Euryale 70B\",\"input\":0.65,\"output\":0.75,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"openai\",\"model\":\"openai/o1\",\"name\":\"OpenAI: o1\",\"input\":15,\"output\":60,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"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.22,\"output\":0.5,\"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\":\"mistralai\",\"model\":\"mistralai/mistral-large\",\"name\":\"Mistral Large\",\"input\":2,\"output\":6,\"unit\":\"per_1m_tokens\",\"region\":\"eu\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-3.5-turbo-0613\",\"name\":\"OpenAI: GPT-3.5 Turbo (older v0613)\",\"input\":1,\"output\":2,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openrouter\",\"model\":\"openrouter/auto\",\"name\":\"Auto Router\",\"input\":0,\"output\":0,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-3.5-turbo-instruct\",\"name\":\"OpenAI: GPT-3.5 Turbo Instruct\",\"input\":1.5,\"output\":2,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-3.5-turbo-16k\",\"name\":\"OpenAI: GPT-3.5 Turbo 16k\",\"input\":3,\"output\":4,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"mancer\",\"model\":\"mancer/weaver\",\"name\":\"Mancer: Weaver (alpha)\",\"input\":0.39999999999999997,\"output\":0.75,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"undi95\",\"model\":\"undi95/remm-slerp-l2-13b\",\"name\":\"ReMM SLERP 13B\",\"input\":0.35,\"output\":0.65,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"gryphe\",\"model\":\"gryphe/mythomax-l2-13b\",\"name\":\"MythoMax 13B\",\"input\":0.08,\"output\":0.11,\"unit\":\"per_1m_tokens\",\"region\":\"other\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-3.5-turbo\",\"name\":\"OpenAI: GPT-3.5 Turbo\",\"input\":0.5,\"output\":1.5,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-3.5-turbo:batch\",\"name\":\"OpenAI: GPT-3.5 Turbo (batch)\",\"input\":0.25,\"output\":0.75,\"unit\":\"per_1m_tokens\",\"region\":\"us\"},{\"provider\":\"openai\",\"model\":\"openai/gpt-4\",\"name\":\"OpenAI: GPT-4\",\"input\":30,\"output\":60,\"unit\":\"per_1m_tokens\",\"region\":\"us\"}];\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 { stripDatedSuffix } from \"../cost/pricing.js\";\nimport { PRICING } from \"../cost/pricing.js\";\nimport { MEDIA_PRICING, MEDIA_PRICING_CHECKED_AT, mediaUnitCounts, type MediaUnit } from \"../cost/media-pricing.js\";\n\nexport type PriceRegion = \"eu\" | \"us\" | \"cn\" | \"other\";\n\n/** Fields every price row carries, whatever it is billed in. */\nexport interface BasePrice {\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 /** GDPR region derived from the PROVIDER NAME — a rough grouping, not a residency\n * claim. It is `\"other\"` for vertex/bfl/fal/azure precisely because those take a\n * configurable endpoint, so their region is a property of the CALL and not of the\n * model. For an actual residency answer use `regionOfHost()` before the call, or\n * `usage.region` after it. */\n region: PriceRegion;\n /** \"curated\" = authoritative hand-maintained number; \"inventory\" = from inventory.json. */\n source: \"curated\" | \"inventory\";\n /** ISO date this row was last verified. Media rows carry a HUMAN-set date; token\n * rows inherit the inventory snapshot's. */\n checkedAt?: string;\n}\n\n/** A model billed per token. */\nexport interface TokenModelPrice extends BasePrice {\n unit: \"per_1m_tokens\";\n /** USD per 1M input tokens. */\n inputPer1M: number;\n /** USD per 1M output tokens. */\n outputPer1M: number;\n /** Set when this model ALSO carries a non-token price — and that is the one the SDK\n * bills with (F050.2).\n *\n * Gemini's image models are the real case: they have honest per-token rates for the\n * prompt AND a per-image price for the output, and `ai.image` charges the per-image\n * one. Returning only the token row is not WRONG the way whisper's fabricated $0 was\n * — the rates are real — it just answers a question nobody asked, and hides the\n * number that decides the bill. Both are true, so both are here. */\n alsoBilled?: { unit: MediaUnit; usd: number; checkedAt: string };\n}\n\n/** A model billed in anything else — per second, image, 1000 chars, minute, page,\n * or training run (F050.2).\n *\n * **It deliberately has NO `inputPer1M`.** Until 0.40.0 a media row carried\n * `inputPer1M: 0`, and super's report named the fault exactly: \"a field that does not\n * apply and a price that is free are the same number again\" — the very distinction\n * `costBasis: \"unpriced\"` exists for, one storey down. A 0 there is a placeholder that\n * reads as a price. Splitting the type turns reading it into a COMPILE error instead. */\nexport interface MediaModelPrice extends BasePrice {\n unit: MediaUnit;\n /** The price, in USD, for one of whatever `unit` names. ALWAYS set on a media row —\n * read this rather than the unit-specific aliases below. */\n usd: number;\n /** @deprecated Read {@link MediaModelPrice.usd} with {@link MediaModelPrice.unit}.\n * Kept working because it shipped in 0.40.0 and consumers read it.\n *\n * USD per second, set ONLY when `unit === \"per_sec\"` — and DERIVED from `usd`, never\n * stored twice. super's point, and the precedent is on the fleet's books: two fields\n * that must be kept equal are not wrong the day they are written, they are wrong the\n * day one of them is corrected. (torrent-search-api F013.4: a duplicated counter\n * showed two different numbers a week after the fix landed on one of its two sites.)\n *\n * It also carries this repo's own scar: 0.40.0 set this-or-`perImage` from a TWO-armed\n * ternary over SIX units, so every non-per-second price was labelled `perImage` —\n * `azure:tts` reported `perImage: 0.016` for a price that is per 1000 CHARACTERS. */\n perSec?: number;\n /** @deprecated Read {@link MediaModelPrice.usd} with {@link MediaModelPrice.unit}.\n * USD per generated image, set ONLY when `unit === \"per_image\"`, derived from `usd`. */\n perImage?: number;\n}\n\n/** A price row. Narrow on `unit` before reading rates:\n * `if (p.unit === \"per_1m_tokens\") … else …`. */\nexport type ModelPrice = TokenModelPrice | MediaModelPrice;\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\n/** Media rows as ModelPrice, keyed by lowercased model id.\n *\n * Deliberately NOT merged into `_list`: `listModelPrices()` / `findModelPrices()`\n * would then hand a Veo row to a `maxInputPer1M` filter, where its placeholder\n * `inputPer1M: 0` reads as \"free\" — a new wrong-layer answer in the middle of\n * fixing one. Lookup by id is safe (no filter to fool); listing is not. */\nlet _media: Map<string, MediaModelPrice> | null = null;\n\nfunction ensureMedia(): Map<string, MediaModelPrice> {\n if (_media) return _media;\n const m = new Map<string, MediaModelPrice>();\n for (const [key, p] of Object.entries(MEDIA_PRICING)) {\n const ci = key.indexOf(\":\");\n const provider = ci >= 0 ? key.slice(0, ci) : \"\";\n const model = ci >= 0 ? key.slice(ci + 1) : key;\n // `usd` is the ONE stored price. The unit-specific aliases are DERIVED from the row\n // that already holds it — `row.usd`, not a second read of `p.usd` — so there is no\n // second place a future edit could set differently. (F050.3, super's point.)\n //\n // The two-armed ternary this replaced sent every non-per-second price out as\n // `perImage`: six units through a two-way branch, written when there were only two\n // units and never revisited when F050 grew the table to six.\n const row: MediaModelPrice = {\n provider,\n model,\n unit: p.unit,\n usd: p.usd,\n checkedAt: p.checkedAt,\n region: regionForProvider(provider),\n source: \"curated\",\n };\n if (row.unit === \"per_sec\") row.perSec = row.usd;\n if (row.unit === \"per_image\") row.perImage = row.usd;\n // The fully-qualified key always wins for itself; the BARE alias is first-write.\n // Veo lives under both gemini and vertex with identical numbers, so a bare lookup\n // can only name one provider — last-write-wins made that answer arbitrary (it was\n // \"vertex\" purely because of spread order). First-write pins it to the consumer\n // Gemini API, and anyone who means the other one asks for \"vertex:<model>\".\n if (!m.has(model.toLowerCase())) m.set(model.toLowerCase(), row);\n m.set(key.toLowerCase(), row);\n }\n _media = m;\n return m;\n}\n\n/** Every non-token price the SDK bills from (F050). Separate from\n * {@link listModelPrices} because the two answer different questions and mixing\n * them silently changed what an existing caller's list meant. */\nexport function listMediaPrices(): MediaModelPrice[] {\n return [...new Set(ensureMedia().values())];\n}\n\nlet _list: TokenModelPrice[] | null = null;\nlet _full: Map<string, TokenModelPrice> | null = null;\nlet _base: Map<string, TokenModelPrice> | 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: TokenModelPrice[] = [];\n const byBase = new Map<string, TokenModelPrice>();\n for (const r of PRICING_DATA) {\n const e: TokenModelPrice = {\n provider: r.provider,\n model: r.model,\n name: r.name,\n inputPer1M: r.input,\n outputPer1M: r.output,\n unit: \"per_1m_tokens\",\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: TokenModelPrice = {\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 // A model can be BOTH token- and media-priced (Gemini's image models: real per-token\n // rates for the prompt, a per-image price for the output that ai.image actually\n // charges). Attach rather than choose — picking either one alone answers half the\n // question, and it is the half nobody asked that used to win.\n for (const [key, mp] of Object.entries(MEDIA_PRICING)) {\n const model = key.slice(key.indexOf(\":\") + 1).toLowerCase();\n const tok = _full.get(model) ?? byBase.get(basename(model));\n if (tok) tok.alsoBilled = { unit: mp.unit, usd: mp.usd, checkedAt: mp.checkedAt };\n }\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 // The dated-snapshot fallback is LAST, after every exact form, so a provider that\n // genuinely prices a dated snapshot differently keeps its own row.\n const dated = stripDatedSuffix(s);\n const media = ensureMedia();\n return (\n _full!.get(s) ??\n (s.includes(\":\") ? _full!.get(s.slice(s.indexOf(\":\") + 1)) : undefined) ??\n _base!.get(basename(s)) ??\n (dated !== s ? (_full!.get(dated) ?? _base!.get(basename(dated))) : undefined) ??\n // Media LAST, so a token model never loses its own row to a media id collision.\n // Before F050 this returned undefined for every video model, which a caller could\n // not tell apart from \"we have no price for that anywhere\".\n media.get(s) ??\n (s.includes(\":\") ? media.get(s.slice(s.indexOf(\":\") + 1)) : undefined)\n );\n}\n\n/** Every known model price (inventory, with the curated overlay applied). */\nexport function listModelPrices(): TokenModelPrice[] {\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 = {}): TokenModelPrice[] {\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\n/** Freshness of ONE pricing unit. */\nexport interface UnitFreshness {\n unit: string;\n /** How many rows the table holds in this unit. Zero means NOT COVERED — which is\n * a different answer from \"covered and fresh\", and used to be indistinguishable. */\n count: number;\n /** When a check last happened for this unit. Empty = never. */\n checkedAt: string;\n ageDays: number | null;\n stale: boolean;\n}\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 *\n * **Scope: the TOKEN table only.** Unchanged from F046 on purpose — consumers and\n * the release guard already read it. For \"is anything I might bill for covered?\",\n * read {@link PricingFreshness.caveats}. */\n stale: boolean;\n thresholdDays: number;\n /** Per-unit breakdown (F050). Every unit the SDK can bill in, whether or not the\n * table has rows for it — an absent unit must show up as `count: 0`, not as an\n * absent key that a caller iterating the object would never notice. */\n units: UnitFreshness[];\n /** Human-readable reservations, one per unit that is uncovered or stale.\n *\n * This is the field that makes `stale: false` honest. super measured the state it\n * exists to end: `{ageDays: 0, stale: false}` on a table where per-second prices\n * could not exist, so the API built to catch price drift reported \"fresh\" about\n * numbers it structurally could not see. Empty array = no reservations. */\n caveats: string[];\n}\n\n/** What {@link computeFreshness} needs to judge a unit. Supplied by\n * {@link pricingFreshness} from the real tables; a test passes its own. */\nexport interface UnitInput {\n unit: string;\n count: number;\n checkedAt: string;\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 units: UnitInput[] = [],\n): PricingFreshness {\n const age = (iso: string): number | null => {\n const t = iso ? Date.parse(iso) : NaN;\n // Clamped at 0. A date-only stamp parses as UTC midnight, so a check made TODAY in\n // Copenhagen (UTC+1/+2) reads as tomorrow for the first hours of the day and the\n // raw subtraction floors to -1. \"-1 days old\" is not wrong in a way that endangers\n // anything, but it is a number no reader can act on. 0 is the true answer: it was\n // checked today.\n return Number.isFinite(t) ? Math.max(0, Math.floor((nowMs - t) / 86_400_000)) : null;\n };\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 const isStale = (d: number | null) => d === null || d > PRICING_STALE_AFTER_DAYS;\n\n const ageDays = age(checkedAt);\n const unitRows: UnitFreshness[] = units.map((u) => {\n const a = age(u.checkedAt);\n return { unit: u.unit, count: u.count, checkedAt: u.checkedAt, ageDays: a, stale: isStale(a) };\n });\n\n // A unit with NO rows outranks a stale one in the message: \"we have never priced\n // this\" and \"our price is old\" call for different actions from the reader.\n const caveats = unitRows.flatMap((u) =>\n u.count === 0\n ? [`${u.unit}: 0 rows — this table cannot price anything billed in ${u.unit}, so \"stale: false\" says nothing about it`]\n : u.stale\n ? [\n `${u.unit}: ${u.count} row(s) last verified ${u.checkedAt || \"never\"}` +\n (u.ageDays === null ? \"\" : ` (${u.ageDays} days ago)`) +\n `, past the ${PRICING_STALE_AFTER_DAYS}d threshold`,\n ]\n : [],\n );\n\n return {\n generatedAt,\n checkedAt,\n ageDays,\n stale: isStale(ageDays),\n thresholdDays: PRICING_STALE_AFTER_DAYS,\n units: unitRows,\n caveats,\n };\n}\n\nexport function pricingFreshness(nowMs: number = Date.now()): PricingFreshness {\n return computeFreshness(PRICING_GENERATED_AT, PRICING_CHECKED_AT, nowMs, [\n { unit: \"per_1m_tokens\", count: PRICING_DATA.length, checkedAt: PRICING_CHECKED_AT },\n // Every media unit, derived from the table rather than listed here — a unit added\n // to MEDIA_PRICING and forgotten here would be a unit the freshness API silently\n // does not report, which is this whole feature's own bug wearing a new hat.\n // Hand-maintained, and the monthly job cannot reach them, hence their own date:\n // inheriting the token snapshot's would make an un-revised video price look freshly\n // verified every time the token job ran.\n ...Object.entries(mediaUnitCounts()).map(([unit, count]) => ({\n unit,\n count,\n checkedAt: MEDIA_PRICING_CHECKED_AT,\n })),\n ]);\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 // F050 — the caveats are a REASON TO WARN in their own right, not decoration on a\n // warning that already fired. A table can be perfectly fresh on tokens and blind to\n // every per-second price in it, which is the exact state that shipped for months.\n if (!f.stale && f.caveats.length === 0) return;\n warned = true;\n // ONE console.warn, however many things are wrong. A library that prints eight lines\n // on first use gets silenced, and a silenced warning is the state we started from —\n // the same reasoning as warning once rather than per lookup, one level up.\n const parts: string[] = [];\n if (f.stale) {\n const age = f.ageDays === null ? \"of unknown age\" : `${f.ageDays} days old`;\n parts.push(\n `price table is ${age} (last verified ${f.checkedAt || \"never\"}, threshold ` +\n `${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 if (f.caveats.length > 0) {\n parts.push(\n `${f.caveats.length} pricing caveat(s): ${f.caveats.join(\"; \")}. Non-token prices are ` +\n `HAND-maintained (no vendor catalogue API serves them), so refreshing them means a ` +\n `human re-reading the vendor's pricing page and bumping MEDIA_PRICING_CHECKED_AT in ` +\n `src/cost/media-pricing.ts.`,\n );\n }\n console.warn(`[@broberg/ai-sdk] ${parts.join(\" | \")}`);\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":[]}