@agentproto/model-catalog 0.10.1 → 0.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/llm/openrouter-routes.generated.ts","../src/llm/context-windows.generated.ts","../src/llm/mistral-pricing.generated.ts","../src/llm/moonshot-pricing.generated.ts","../src/llm/anthropic-pricing.generated.ts","../src/llm/google-pricing.generated.ts","../src/llm/openai-pricing.generated.ts","../src/llm/minimax-pricing.generated.ts","../src/llm/xai-pricing.generated.ts","../src/llm/catalog.ts","../src/llm/opencode-go-routes.generated.ts","../src/llm/opencode-zen-routes.generated.ts"],"names":[],"mappings":"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","file":"chunk-S2EJIT6D.mjs","sourcesContent":["// AUTO-GENERATED by @agentproto/catalog-sync (llm:openrouter).\n// Do not edit by hand — re-run `pnpm --filter @agentproto/catalog-sync generate`.\n// Source: https://openrouter.ai/api/v1/models\n// Pricing carries provider USD (inputPer1M / outputPer1M) plus cache\n// multipliers (cacheReadMultiplier / cacheWriteMultiplier) derived from the\n// source's input_cache_read / input_cache_write per-token fields when present.\n// addedAt is the ISO date this id was first seen by a sync run — backfilled\n// from the source's own `created` timestamp, then NEVER mutated; see\n// packages/catalog-sync/src/added-at.ts and the package README.\n\nimport type { LLMPricing } from \"./catalog.js\"\n\nexport const OPENROUTER_ROUTES: Record<string, LLMPricing> = {\n \"aion-labs/aion-2.0\": {\n inputPer1M: 0.8,\n outputPer1M: 1.6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-02-23\",\n vendor: \"aion-labs\",\n provider: \"openrouter\",\n },\n \"aion-labs/aion-3.0\": {\n inputPer1M: 3,\n outputPer1M: 6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-07-07\",\n vendor: \"aion-labs\",\n provider: \"openrouter\",\n },\n \"aion-labs/aion-3.0-mini\": {\n inputPer1M: 0.7,\n outputPer1M: 1.4,\n cacheReadMultiplier: 0.257143,\n addedAt: \"2026-07-07\",\n vendor: \"aion-labs\",\n provider: \"openrouter\",\n },\n \"aion-labs/aion-3.5\": {\n inputPer1M: 3,\n outputPer1M: 6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-09-23\",\n vendor: \"aion-labs\",\n provider: \"openrouter\",\n },\n \"aion-labs/aion-3.5-mini\": {\n inputPer1M: 0.7,\n outputPer1M: 1.4,\n cacheReadMultiplier: 0.257143,\n addedAt: \"2026-09-23\",\n vendor: \"aion-labs\",\n provider: \"openrouter\",\n },\n \"aion-labs/aion-rp-llama-3.1-8b\": {\n inputPer1M: 0.8,\n outputPer1M: 1.6,\n addedAt: \"2025-02-04\",\n vendor: \"aion-labs\",\n provider: \"openrouter\",\n },\n \"amazon/nova-2-lite-v1\": {\n inputPer1M: 0.3,\n outputPer1M: 2.5,\n addedAt: \"2025-12-02\",\n vendor: \"amazon\",\n provider: \"openrouter\",\n },\n \"amazon/nova-lite-v1\": {\n inputPer1M: 0.06,\n outputPer1M: 0.24,\n addedAt: \"2024-12-05\",\n vendor: \"amazon\",\n provider: \"openrouter\",\n },\n \"amazon/nova-micro-v1\": {\n inputPer1M: 0.035,\n outputPer1M: 0.14,\n addedAt: \"2024-12-05\",\n vendor: \"amazon\",\n provider: \"openrouter\",\n },\n \"amazon/nova-premier-v1\": {\n inputPer1M: 2.5,\n outputPer1M: 12.5,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-10-31\",\n vendor: \"amazon\",\n provider: \"openrouter\",\n },\n \"amazon/nova-pro-v1\": {\n inputPer1M: 0.8,\n outputPer1M: 3.2,\n addedAt: \"2024-12-05\",\n vendor: \"amazon\",\n provider: \"openrouter\",\n },\n \"anthracite-org/magnum-v4-72b\": {\n inputPer1M: 2.5,\n outputPer1M: 5,\n addedAt: \"2024-10-22\",\n vendor: \"anthracite-org\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-3-haiku\": {\n inputPer1M: 0.25,\n outputPer1M: 1.25,\n cacheReadMultiplier: 0.12,\n cacheWriteMultiplier: 1.2,\n addedAt: \"2024-03-13\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-fable-5\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-09\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-fable-5.1\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.025,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-01\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-fable-5.1:batch\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.025,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-01\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-fable-5:batch\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-09\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-haiku-4.5\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-10-15\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-haiku-4.5:batch\": {\n inputPer1M: 0.5,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-10-15\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.1\": {\n inputPer1M: 15,\n outputPer1M: 75,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-08-05\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.1:batch\": {\n inputPer1M: 7.5,\n outputPer1M: 37.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-08-05\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.5\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-11-24\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.5:batch\": {\n inputPer1M: 2.5,\n outputPer1M: 12.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-11-24\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.6\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-04\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.6:batch\": {\n inputPer1M: 2.5,\n outputPer1M: 12.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-04\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.7\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-16\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.7:batch\": {\n inputPer1M: 2.5,\n outputPer1M: 12.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-16\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.8\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-05-27\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-4.8:batch\": {\n inputPer1M: 2.5,\n outputPer1M: 12.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-05-27\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-5\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-24\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-5.5\": {\n inputPer1M: 4,\n outputPer1M: 20,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-5.5:batch\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-opus-5:batch\": {\n inputPer1M: 2.5,\n outputPer1M: 12.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-24\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-4\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-05-22\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-4.5\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-09-29\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-4.5:batch\": {\n inputPer1M: 1.5,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-09-29\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-4.6\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-17\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-4.6:batch\": {\n inputPer1M: 1.5,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-17\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-5\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-30\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"anthropic/claude-sonnet-5:batch\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-30\",\n vendor: \"anthropic\",\n provider: \"openrouter\",\n },\n \"arcee-ai/trinity-large-thinking\": {\n inputPer1M: 0.25,\n outputPer1M: 0.8,\n cacheReadMultiplier: 0.24,\n addedAt: \"2026-04-01\",\n vendor: \"arcee-ai\",\n provider: \"openrouter\",\n },\n \"baidu/ernie-4.5-vl-424b-a47b\": {\n inputPer1M: 0.42,\n outputPer1M: 1.25,\n addedAt: \"2025-06-30\",\n vendor: \"baidu\",\n provider: \"openrouter\",\n },\n \"bytedance-seed/seed-1.6\": {\n inputPer1M: 0.25,\n outputPer1M: 2,\n addedAt: \"2025-12-23\",\n vendor: \"bytedance-seed\",\n provider: \"openrouter\",\n },\n \"bytedance-seed/seed-1.6-flash\": {\n inputPer1M: 0.075,\n outputPer1M: 0.3,\n addedAt: \"2025-12-23\",\n vendor: \"bytedance-seed\",\n provider: \"openrouter\",\n },\n \"bytedance-seed/seed-2-1-turbo\": {\n inputPer1M: 0.5,\n outputPer1M: 2.5,\n addedAt: \"2026-08-12\",\n vendor: \"bytedance-seed\",\n provider: \"openrouter\",\n },\n \"bytedance-seed/seed-2.0-code\": {\n inputPer1M: 0.5,\n outputPer1M: 3,\n addedAt: \"2026-08-12\",\n vendor: \"bytedance-seed\",\n provider: \"openrouter\",\n },\n \"bytedance-seed/seed-2.0-lite\": {\n inputPer1M: 0.25,\n outputPer1M: 2,\n addedAt: \"2026-03-10\",\n vendor: \"bytedance-seed\",\n provider: \"openrouter\",\n },\n \"bytedance-seed/seed-2.0-mini\": {\n inputPer1M: 0.1,\n outputPer1M: 0.4,\n addedAt: \"2026-02-26\",\n vendor: \"bytedance-seed\",\n provider: \"openrouter\",\n },\n \"bytedance/ui-tars-1.5-7b\": {\n inputPer1M: 0.1,\n outputPer1M: 0.2,\n cacheReadMultiplier: 1,\n addedAt: \"2025-07-22\",\n vendor: \"bytedance\",\n provider: \"openrouter\",\n },\n \"cognitivecomputations/dolphin-mistral-24b-venice-edition\": {\n inputPer1M: 0.2,\n outputPer1M: 0.9,\n addedAt: \"2025-07-09\",\n vendor: \"cognitivecomputations\",\n provider: \"openrouter\",\n },\n \"cohere/command-a\": {\n inputPer1M: 2.5,\n outputPer1M: 10,\n addedAt: \"2025-03-13\",\n vendor: \"cohere\",\n provider: \"openrouter\",\n },\n \"cohere/command-a-plus\": {\n inputPer1M: 0.3,\n outputPer1M: 1.5,\n cacheReadMultiplier: 0.5,\n addedAt: \"2026-09-22\",\n vendor: \"cohere\",\n provider: \"openrouter\",\n },\n \"cohere/command-r-08-2024\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n addedAt: \"2024-08-30\",\n vendor: \"cohere\",\n provider: \"openrouter\",\n },\n \"cohere/command-r-plus-08-2024\": {\n inputPer1M: 2.5,\n outputPer1M: 10,\n addedAt: \"2024-08-30\",\n vendor: \"cohere\",\n provider: \"openrouter\",\n },\n \"cohere/command-r7b-12-2024\": {\n inputPer1M: 0.0375,\n outputPer1M: 0.15,\n addedAt: \"2024-12-14\",\n vendor: \"cohere\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-chat\": {\n inputPer1M: 0.32,\n outputPer1M: 0.89,\n addedAt: \"2024-12-26\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-chat-v3-0324\": {\n inputPer1M: 0.25,\n outputPer1M: 1,\n addedAt: \"2025-03-24\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-chat-v3.1\": {\n inputPer1M: 0.25,\n outputPer1M: 0.95,\n cacheReadMultiplier: 0.52,\n addedAt: \"2025-08-21\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-r1\": {\n inputPer1M: 0.7,\n outputPer1M: 2.5,\n addedAt: \"2025-01-20\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-r1-0528\": {\n inputPer1M: 0.5,\n outputPer1M: 2.15,\n cacheReadMultiplier: 0.7,\n addedAt: \"2025-05-28\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-r1-distill-llama-70b\": {\n inputPer1M: 0.8,\n outputPer1M: 0.8,\n addedAt: \"2025-01-23\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v3.1-terminus\": {\n inputPer1M: 0.27,\n outputPer1M: 1,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-09-22\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v3.2\": {\n inputPer1M: 0.269,\n outputPer1M: 0.4,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-12-01\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v3.2-exp\": {\n inputPer1M: 0.27,\n outputPer1M: 0.41,\n addedAt: \"2025-09-29\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4-flash\": {\n inputPer1M: 0.049,\n outputPer1M: 0.098,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-04-24\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4-flash-0731\": {\n inputPer1M: 0.03,\n outputPer1M: 0.32,\n cacheReadMultiplier: 0.533333,\n addedAt: \"2026-07-31\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4-flash-vision-exp\": {\n inputPer1M: 0.22,\n outputPer1M: 0.66,\n cacheReadMultiplier: 0.031818,\n addedAt: \"2026-08-21\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4-pro\": {\n inputPer1M: 0.833112,\n outputPer1M: 1.666224,\n cacheReadMultiplier: 0.083333,\n addedAt: \"2026-04-24\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4-pro-0813\": {\n inputPer1M: 0.462,\n outputPer1M: 1.386,\n cacheReadMultiplier: 0.033333,\n addedAt: \"2026-08-12\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4.1-flash\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-09-10\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"deepseek/deepseek-v4.1-flash:batch\": {\n inputPer1M: 0.112,\n outputPer1M: 0.336,\n cacheReadMultiplier: 0.03,\n addedAt: \"2026-09-10\",\n vendor: \"deepseek\",\n provider: \"openrouter\",\n },\n \"fireworks/ember-1\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-09-24\",\n vendor: \"fireworks\",\n provider: \"openrouter\",\n },\n \"google/gemini-2.5-flash\": {\n inputPer1M: 0.3,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.277777,\n addedAt: \"2025-06-17\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-2.5-flash-image\": {\n inputPer1M: 0.3,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.277777,\n addedAt: \"2025-10-07\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-2.5-flash-lite\": {\n inputPer1M: 0.1,\n outputPer1M: 0.4,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.83333,\n addedAt: \"2025-07-22\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-2.5-flash-lite:batch\": {\n inputPer1M: 0.05,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2025-07-22\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-2.5-flash:batch\": {\n inputPer1M: 0.15,\n outputPer1M: 1.25,\n cacheReadMultiplier: 0.2,\n addedAt: \"2025-06-17\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-2.5-pro\": {\n inputPer1M: 1.25,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.3,\n addedAt: \"2025-06-17\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-2.5-pro-preview\": {\n inputPer1M: 1.25,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.3,\n addedAt: \"2025-06-05\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-2.5-pro:batch\": {\n inputPer1M: 0.625,\n outputPer1M: 5,\n cacheReadMultiplier: 0.2,\n addedAt: \"2025-06-17\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3-flash-preview\": {\n inputPer1M: 0.5,\n outputPer1M: 3,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.166666,\n addedAt: \"2025-12-17\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3-flash-preview:batch\": {\n inputPer1M: 0.25,\n outputPer1M: 1.5,\n addedAt: \"2025-12-17\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3-pro-image\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.1875,\n addedAt: \"2026-06-18\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3-pro-image-preview\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.1875,\n addedAt: \"2025-11-20\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-flash-image\": {\n inputPer1M: 0.5,\n outputPer1M: 3,\n addedAt: \"2026-06-18\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-flash-image-preview\": {\n inputPer1M: 0.5,\n outputPer1M: 3,\n addedAt: \"2026-02-26\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-flash-lite\": {\n inputPer1M: 0.25,\n outputPer1M: 1.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.333332,\n addedAt: \"2026-05-07\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-flash-lite-image\": {\n inputPer1M: 0.25,\n outputPer1M: 1.5,\n addedAt: \"2026-06-30\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-flash-lite-preview\": {\n inputPer1M: 0.25,\n outputPer1M: 1.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.333332,\n addedAt: \"2026-03-03\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-flash-lite:batch\": {\n inputPer1M: 0.125,\n outputPer1M: 0.75,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-05-07\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-pro-preview\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.1875,\n addedAt: \"2026-02-19\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-pro-preview-customtools\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.1875,\n addedAt: \"2026-02-25\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.1-pro-preview:batch\": {\n inputPer1M: 1,\n outputPer1M: 6,\n addedAt: \"2026-02-19\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.5-flash\": {\n inputPer1M: 1.5,\n outputPer1M: 9,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.055555,\n addedAt: \"2026-05-19\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.5-flash-lite\": {\n inputPer1M: 0.3,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.277777,\n addedAt: \"2026-07-21\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.5-flash-lite:batch\": {\n inputPer1M: 0.15,\n outputPer1M: 1.25,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-21\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.5-flash:batch\": {\n inputPer1M: 0.75,\n outputPer1M: 4.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-05-19\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.6-flash\": {\n inputPer1M: 0.75,\n outputPer1M: 3.75,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.055556,\n addedAt: \"2026-07-21\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.6-flash:batch\": {\n inputPer1M: 0.375,\n outputPer1M: 1.875,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.111112,\n addedAt: \"2026-07-21\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.7-flash\": {\n inputPer1M: 0.75,\n outputPer1M: 3.75,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.055556,\n addedAt: \"2026-08-13\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.7-flash:batch\": {\n inputPer1M: 0.375,\n outputPer1M: 1.875,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.111112,\n addedAt: \"2026-08-13\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.8-flash\": {\n inputPer1M: 0.75,\n outputPer1M: 3.75,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.055556,\n addedAt: \"2026-09-02\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemini-3.8-flash:batch\": {\n inputPer1M: 0.375,\n outputPer1M: 1.875,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.111112,\n addedAt: \"2026-09-02\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemma-2-27b-it\": {\n inputPer1M: 0.65,\n outputPer1M: 0.65,\n addedAt: \"2024-07-13\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemma-3-12b-it\": {\n inputPer1M: 0.05,\n outputPer1M: 0.15,\n addedAt: \"2025-03-13\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemma-3-27b-it\": {\n inputPer1M: 0.08,\n outputPer1M: 0.45,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-03-12\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemma-3-4b-it\": {\n inputPer1M: 0.05,\n outputPer1M: 0.1,\n addedAt: \"2025-03-13\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemma-4-26b-a4b-it\": {\n inputPer1M: 0.09,\n outputPer1M: 0.3,\n cacheReadMultiplier: 0.555556,\n addedAt: \"2026-04-03\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"google/gemma-4-31b-it\": {\n inputPer1M: 0.09,\n outputPer1M: 0.34,\n cacheReadMultiplier: 0.555556,\n addedAt: \"2026-04-02\",\n vendor: \"google\",\n provider: \"openrouter\",\n },\n \"gryphe/mythomax-l2-13b\": {\n inputPer1M: 0.08,\n outputPer1M: 0.11,\n addedAt: \"2023-07-02\",\n vendor: \"gryphe\",\n provider: \"openrouter\",\n },\n \"ibm-granite/granite-4.0-h-micro\": {\n inputPer1M: 0.017,\n outputPer1M: 0.112,\n addedAt: \"2025-10-20\",\n vendor: \"ibm-granite\",\n provider: \"openrouter\",\n },\n \"ibm-granite/granite-4.2-8b\": {\n inputPer1M: 0.06,\n outputPer1M: 0.25,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-08-31\",\n vendor: \"ibm-granite\",\n provider: \"openrouter\",\n },\n \"inception/mercury-2\": {\n inputPer1M: 0.25,\n outputPer1M: 0.75,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-04\",\n vendor: \"inception\",\n provider: \"openrouter\",\n },\n \"inception/mercury-2.5\": {\n inputPer1M: 0.04,\n outputPer1M: 0.15,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-09-08\",\n vendor: \"inception\",\n provider: \"openrouter\",\n },\n \"inclusionai/ling-3.0-flash\": {\n inputPer1M: 0.021,\n outputPer1M: 0.063,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-07-23\",\n vendor: \"inclusionai\",\n provider: \"openrouter\",\n },\n \"inclusionai/ling-3.0-flash-fin\": {\n inputPer1M: 0.06,\n outputPer1M: 0.18,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-08-27\",\n vendor: \"inclusionai\",\n provider: \"openrouter\",\n },\n \"inclusionai/ling-3.0-flash-vl\": {\n inputPer1M: 0.06,\n outputPer1M: 0.18,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-09-10\",\n vendor: \"inclusionai\",\n provider: \"openrouter\",\n },\n \"inference-net/schematron-v2-small\": {\n inputPer1M: 0.05,\n outputPer1M: 0.23,\n cacheReadMultiplier: 1,\n addedAt: \"2026-09-12\",\n vendor: \"inference-net\",\n provider: \"openrouter\",\n },\n \"inference-net/schematron-v2-turbo\": {\n inputPer1M: 0.03,\n outputPer1M: 0.15,\n cacheReadMultiplier: 1,\n addedAt: \"2026-09-12\",\n vendor: \"inference-net\",\n provider: \"openrouter\",\n },\n \"kwaipilot/kat-coder-pro-v2.5\": {\n inputPer1M: 0.74,\n outputPer1M: 2.96,\n cacheReadMultiplier: 0.202703,\n addedAt: \"2026-07-10\",\n vendor: \"kwaipilot\",\n provider: \"openrouter\",\n },\n \"mancer/weaver\": {\n inputPer1M: 0.4,\n outputPer1M: 0.75,\n addedAt: \"2023-08-02\",\n vendor: \"mancer\",\n provider: \"openrouter\",\n },\n \"meituan/longcat-2.0\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-07-20\",\n vendor: \"meituan\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-3.1-70b-instruct\": {\n inputPer1M: 0.4,\n outputPer1M: 0.4,\n addedAt: \"2024-07-23\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-3.1-8b-instruct\": {\n inputPer1M: 0.05,\n outputPer1M: 0.08,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-07-23\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-3.2-1b-instruct\": {\n inputPer1M: 0.027,\n outputPer1M: 0.201,\n addedAt: \"2024-09-25\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-3.2-3b-instruct\": {\n inputPer1M: 0.05,\n outputPer1M: 0.33,\n addedAt: \"2024-09-25\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-3.3-70b-instruct\": {\n inputPer1M: 0.1,\n outputPer1M: 0.32,\n addedAt: \"2024-12-06\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-4-maverick\": {\n inputPer1M: 0.1875,\n outputPer1M: 0.6525,\n addedAt: \"2025-04-05\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-4-scout\": {\n inputPer1M: 0.1,\n outputPer1M: 0.3,\n addedAt: \"2025-04-05\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta-llama/llama-guard-4-12b\": {\n inputPer1M: 0.18,\n outputPer1M: 0.18,\n addedAt: \"2025-04-30\",\n vendor: \"meta-llama\",\n provider: \"openrouter\",\n },\n \"meta/muse-glimmer-30b\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.133333,\n addedAt: \"2026-08-09\",\n vendor: \"meta\",\n provider: \"openrouter\",\n },\n \"meta/muse-spark-1.1\": {\n inputPer1M: 1.25,\n outputPer1M: 4.25,\n cacheReadMultiplier: 0.12,\n addedAt: \"2026-07-16\",\n vendor: \"meta\",\n provider: \"openrouter\",\n },\n \"meta/muse-spark-1.2\": {\n inputPer1M: 1.25,\n outputPer1M: 4.25,\n cacheReadMultiplier: 0.12,\n addedAt: \"2026-08-05\",\n vendor: \"meta\",\n provider: \"openrouter\",\n },\n \"meta/muse-spark-1.2-contributor\": {\n inputPer1M: 0.1,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-08-21\",\n vendor: \"meta\",\n provider: \"openrouter\",\n },\n \"meta/muse-spark-1.3\": {\n inputPer1M: 1.25,\n outputPer1M: 4.25,\n cacheReadMultiplier: 0.12,\n addedAt: \"2026-09-02\",\n vendor: \"meta\",\n provider: \"openrouter\",\n },\n \"meta/muse-spark-1.3-contributor\": {\n inputPer1M: 0.1,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-09-02\",\n vendor: \"meta\",\n provider: \"openrouter\",\n },\n \"microsoft/phi-4\": {\n inputPer1M: 0.07,\n outputPer1M: 0.14,\n addedAt: \"2025-01-10\",\n vendor: \"microsoft\",\n provider: \"openrouter\",\n },\n \"microsoft/wizardlm-2-8x22b\": {\n inputPer1M: 0.62,\n outputPer1M: 0.62,\n addedAt: \"2024-04-16\",\n vendor: \"microsoft\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-01\": {\n inputPer1M: 0.2,\n outputPer1M: 1.1,\n addedAt: \"2025-01-15\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-m1\": {\n inputPer1M: 0.4,\n outputPer1M: 2.2,\n addedAt: \"2025-06-17\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-m2\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n addedAt: \"2025-10-23\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-m2-her\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-01-23\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-m2.1\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-23\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-m2.5\": {\n inputPer1M: 0.27,\n outputPer1M: 1.08,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-02-12\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-m2.7\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-03-18\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"minimax/minimax-m3\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-05-31\",\n vendor: \"minimax\",\n provider: \"openrouter\",\n },\n \"mistralai/codestral-2508\": {\n inputPer1M: 0.3,\n outputPer1M: 0.9,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-01\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/codestral-2508:batch\": {\n inputPer1M: 0.15,\n outputPer1M: 0.45,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-01\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/devstral-2512\": {\n inputPer1M: 0.4,\n outputPer1M: 2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-09\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/ministral-14b-2512\": {\n inputPer1M: 0.2,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-02\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/ministral-3b-2512\": {\n inputPer1M: 0.1,\n outputPer1M: 0.1,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-02\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/ministral-8b-2512\": {\n inputPer1M: 0.15,\n outputPer1M: 0.15,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-02\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/ministral-8b-2512:batch\": {\n inputPer1M: 0.075,\n outputPer1M: 0.075,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-02\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-large\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2024-02-26\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-large-2407\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2024-11-19\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-large-2512\": {\n inputPer1M: 0.5,\n outputPer1M: 1.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-01\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-large-2512:batch\": {\n inputPer1M: 0.25,\n outputPer1M: 0.75,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-01\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-medium-3\": {\n inputPer1M: 0.4,\n outputPer1M: 2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-05-07\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-medium-3-5\": {\n inputPer1M: 1.5,\n outputPer1M: 7.5,\n addedAt: \"2026-04-30\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-medium-3-5:batch\": {\n inputPer1M: 0.75,\n outputPer1M: 3.75,\n addedAt: \"2026-04-30\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-medium-3.1\": {\n inputPer1M: 0.4,\n outputPer1M: 2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-13\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-medium-3.1:batch\": {\n inputPer1M: 0.2,\n outputPer1M: 1,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-13\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-nemo\": {\n inputPer1M: 0.019,\n outputPer1M: 0.03,\n addedAt: \"2024-07-19\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-saba\": {\n inputPer1M: 0.2,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-02-17\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-small-24b-instruct-2501\": {\n inputPer1M: 0.05,\n outputPer1M: 0.08,\n addedAt: \"2025-01-30\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-small-2603\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-16\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-small-2603:batch\": {\n inputPer1M: 0.075,\n outputPer1M: 0.3,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-16\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-small-3.1-24b-instruct\": {\n inputPer1M: 0.351,\n outputPer1M: 0.555,\n addedAt: \"2025-03-17\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mistral-small-3.2-24b-instruct\": {\n inputPer1M: 0.09375,\n outputPer1M: 0.25,\n addedAt: \"2025-06-20\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/mixtral-8x22b-instruct\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2024-04-17\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"mistralai/voxtral-small-24b-2507\": {\n inputPer1M: 0.1,\n outputPer1M: 0.3,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-10-30\",\n vendor: \"mistralai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k2\": {\n inputPer1M: 0.57,\n outputPer1M: 2.3,\n addedAt: \"2025-07-11\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k2-0905\": {\n inputPer1M: 0.6,\n outputPer1M: 2.5,\n addedAt: \"2025-09-04\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k2-thinking\": {\n inputPer1M: 0.6,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-11-06\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k2.5\": {\n inputPer1M: 0.45,\n outputPer1M: 2.25,\n cacheReadMultiplier: 0.155556,\n addedAt: \"2026-01-27\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k2.6\": {\n inputPer1M: 0.95,\n outputPer1M: 4,\n cacheReadMultiplier: 0.168421,\n addedAt: \"2026-04-20\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k2.7-code\": {\n inputPer1M: 0.6562,\n outputPer1M: 3.3,\n cacheReadMultiplier: 0.274307,\n addedAt: \"2026-06-12\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k3\": {\n inputPer1M: 0.8845,\n outputPer1M: 10.5346,\n cacheReadMultiplier: 0.339175,\n addedAt: \"2026-07-16\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"moonshotai/kimi-k3:batch\": {\n inputPer1M: 2.28,\n outputPer1M: 11.4,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-16\",\n vendor: \"moonshotai\",\n provider: \"openrouter\",\n },\n \"morph/morph-v3-fast\": {\n inputPer1M: 0.8,\n outputPer1M: 1.2,\n addedAt: \"2025-07-07\",\n vendor: \"morph\",\n provider: \"openrouter\",\n },\n \"morph/morph-v3-large\": {\n inputPer1M: 0.9,\n outputPer1M: 1.9,\n addedAt: \"2025-07-07\",\n vendor: \"morph\",\n provider: \"openrouter\",\n },\n \"nousresearch/hermes-3-llama-3.1-405b\": {\n inputPer1M: 1,\n outputPer1M: 1,\n addedAt: \"2024-08-16\",\n vendor: \"nousresearch\",\n provider: \"openrouter\",\n },\n \"nousresearch/hermes-3-llama-3.1-70b\": {\n inputPer1M: 0.7,\n outputPer1M: 0.7,\n addedAt: \"2024-08-18\",\n vendor: \"nousresearch\",\n provider: \"openrouter\",\n },\n \"nousresearch/hermes-4-405b\": {\n inputPer1M: 1,\n outputPer1M: 3,\n addedAt: \"2025-08-26\",\n vendor: \"nousresearch\",\n provider: \"openrouter\",\n },\n \"nvidia/nemotron-3-nano-30b-a3b\": {\n inputPer1M: 0.05,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.6,\n addedAt: \"2025-12-14\",\n vendor: \"nvidia\",\n provider: \"openrouter\",\n },\n \"nvidia/nemotron-3-super-120b-a12b\": {\n inputPer1M: 0.08,\n outputPer1M: 0.45,\n addedAt: \"2026-03-11\",\n vendor: \"nvidia\",\n provider: \"openrouter\",\n },\n \"nvidia/nemotron-3-ultra-550b-a55b\": {\n inputPer1M: 0.6,\n outputPer1M: 2.4,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-06-04\",\n vendor: \"nvidia\",\n provider: \"openrouter\",\n },\n \"nvidia/nemotron-3.5-content-safety\": {\n inputPer1M: 0.2,\n outputPer1M: 0.2,\n addedAt: \"2026-06-04\",\n vendor: \"nvidia\",\n provider: \"openrouter\",\n },\n \"nvidia/nemotron-3.5-lightning\": {\n inputPer1M: 0.08,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.5,\n addedAt: \"2026-08-11\",\n vendor: \"nvidia\",\n provider: \"openrouter\",\n },\n \"openai/gpt-3.5-turbo\": {\n inputPer1M: 0.5,\n outputPer1M: 1.5,\n addedAt: \"2023-05-28\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-3.5-turbo-0613\": {\n inputPer1M: 1,\n outputPer1M: 2,\n addedAt: \"2024-01-25\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-3.5-turbo-16k\": {\n inputPer1M: 3,\n outputPer1M: 4,\n addedAt: \"2023-08-28\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-3.5-turbo-instruct\": {\n inputPer1M: 1.5,\n outputPer1M: 2,\n addedAt: \"2023-09-28\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-3.5-turbo:batch\": {\n inputPer1M: 0.25,\n outputPer1M: 0.75,\n addedAt: \"2023-05-28\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4\": {\n inputPer1M: 30,\n outputPer1M: 60,\n addedAt: \"2023-05-28\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4-turbo\": {\n inputPer1M: 10,\n outputPer1M: 30,\n addedAt: \"2024-04-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4-turbo:batch\": {\n inputPer1M: 5,\n outputPer1M: 15,\n addedAt: \"2024-04-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4.1\": {\n inputPer1M: 2,\n outputPer1M: 8,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4.1-mini\": {\n inputPer1M: 0.4,\n outputPer1M: 1.6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4.1-mini:batch\": {\n inputPer1M: 0.2,\n outputPer1M: 0.8,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4.1-nano\": {\n inputPer1M: 0.1,\n outputPer1M: 0.4,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4.1-nano:batch\": {\n inputPer1M: 0.05,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4.1:batch\": {\n inputPer1M: 1,\n outputPer1M: 4,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o\": {\n inputPer1M: 2.5,\n outputPer1M: 10,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-05-13\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o-2024-05-13\": {\n inputPer1M: 5,\n outputPer1M: 15,\n addedAt: \"2024-05-13\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o-2024-08-06\": {\n inputPer1M: 2.5,\n outputPer1M: 10,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-08-06\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o-2024-11-20\": {\n inputPer1M: 2.5,\n outputPer1M: 10,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-11-20\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o-mini\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-07-18\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o-mini-2024-07-18\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-07-18\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o-mini:batch\": {\n inputPer1M: 0.075,\n outputPer1M: 0.3,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-07-18\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-4o:batch\": {\n inputPer1M: 1.25,\n outputPer1M: 5,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-05-13\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5\": {\n inputPer1M: 1.25,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-image\": {\n inputPer1M: 10,\n outputPer1M: 10,\n cacheReadMultiplier: 0.125,\n addedAt: \"2025-10-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-image-mini\": {\n inputPer1M: 2.5,\n outputPer1M: 2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-10-16\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-mini\": {\n inputPer1M: 0.25,\n outputPer1M: 2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-mini:batch\": {\n inputPer1M: 0.125,\n outputPer1M: 1,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-nano\": {\n inputPer1M: 0.05,\n outputPer1M: 0.4,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-nano:batch\": {\n inputPer1M: 0.025,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-pro\": {\n inputPer1M: 15,\n outputPer1M: 120,\n addedAt: \"2025-10-06\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5-pro:batch\": {\n inputPer1M: 7.5,\n outputPer1M: 60,\n addedAt: \"2025-10-06\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.1\": {\n inputPer1M: 1.25,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.1-codex\": {\n inputPer1M: 1.25,\n outputPer1M: 10,\n cacheReadMultiplier: 0.104,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.1-codex-max\": {\n inputPer1M: 1.25,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-04\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.1-codex-mini\": {\n inputPer1M: 0.25,\n outputPer1M: 2,\n cacheReadMultiplier: 0.12,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.1:batch\": {\n inputPer1M: 0.625,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.2\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-10\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.2-chat\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-10\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.2-codex\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-01-14\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.2-pro\": {\n inputPer1M: 21,\n outputPer1M: 168,\n addedAt: \"2025-12-10\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.2-pro:batch\": {\n inputPer1M: 10.5,\n outputPer1M: 84,\n addedAt: \"2025-12-10\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.2:batch\": {\n inputPer1M: 0.875,\n outputPer1M: 7,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-10\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.3-codex\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-02-24\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4\": {\n inputPer1M: 2.5,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4-image-2\": {\n inputPer1M: 8,\n outputPer1M: 15,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-04-21\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4-mini\": {\n inputPer1M: 0.75,\n outputPer1M: 4.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-17\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4-mini:batch\": {\n inputPer1M: 0.375,\n outputPer1M: 2.25,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-17\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4-nano\": {\n inputPer1M: 0.2,\n outputPer1M: 1.25,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-17\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4-nano:batch\": {\n inputPer1M: 0.1,\n outputPer1M: 0.625,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-17\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4-pro\": {\n inputPer1M: 30,\n outputPer1M: 180,\n addedAt: \"2026-03-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4-pro:batch\": {\n inputPer1M: 15,\n outputPer1M: 90,\n addedAt: \"2026-03-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.4:batch\": {\n inputPer1M: 1.25,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.5\": {\n inputPer1M: 5,\n outputPer1M: 30,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-04-24\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.5-pro\": {\n inputPer1M: 30,\n outputPer1M: 180,\n addedAt: \"2026-04-24\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.5-pro:batch\": {\n inputPer1M: 15,\n outputPer1M: 90,\n addedAt: \"2026-04-24\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.5:batch\": {\n inputPer1M: 2.5,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-04-24\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-luna\": {\n inputPer1M: 0.2,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-luna-pro\": {\n inputPer1M: 0.2,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-luna-pro:batch\": {\n inputPer1M: 0.1,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-luna:batch\": {\n inputPer1M: 0.1,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-sol\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-sol-pro\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-sol-pro:batch\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-sol:batch\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-terra\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-terra-pro\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-terra-pro:batch\": {\n inputPer1M: 1,\n outputPer1M: 6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5.6-terra:batch\": {\n inputPer1M: 1,\n outputPer1M: 6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-5:batch\": {\n inputPer1M: 0.625,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-astra\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-04\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-astra-pro\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-04\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-astra-pro:batch\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-04\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-astra:batch\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-04\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-luna\": {\n inputPer1M: 0.1,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-luna-pro\": {\n inputPer1M: 0.1,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-luna-pro:batch\": {\n inputPer1M: 0.05,\n outputPer1M: 0.25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-luna:batch\": {\n inputPer1M: 0.05,\n outputPer1M: 0.25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-sol\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-sol-pro\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-sol-pro:batch\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-6-sol:batch\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-audio\": {\n inputPer1M: 2.5,\n outputPer1M: 10,\n addedAt: \"2026-01-19\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-audio-mini\": {\n inputPer1M: 0.6,\n outputPer1M: 2.4,\n addedAt: \"2026-01-19\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-chat-latest\": {\n inputPer1M: 5,\n outputPer1M: 30,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-05-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-oss-120b\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-08-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-oss-120b:batch\": {\n inputPer1M: 0.0296,\n outputPer1M: 0.136,\n addedAt: \"2025-08-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-oss-20b\": {\n inputPer1M: 0.018,\n outputPer1M: 0.09,\n addedAt: \"2025-08-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-oss-20b:batch\": {\n inputPer1M: 0.024,\n outputPer1M: 0.112,\n addedAt: \"2025-08-05\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/gpt-oss-safeguard-20b\": {\n inputPer1M: 0.075,\n outputPer1M: 0.3,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-10-29\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o1\": {\n inputPer1M: 15,\n outputPer1M: 60,\n cacheReadMultiplier: 0.5,\n addedAt: \"2024-12-17\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o1-pro\": {\n inputPer1M: 150,\n outputPer1M: 600,\n addedAt: \"2025-03-19\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o3\": {\n inputPer1M: 2,\n outputPer1M: 8,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-16\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o3-mini\": {\n inputPer1M: 1.1,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-01-31\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o3-mini-high\": {\n inputPer1M: 1.1,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-02-12\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o3-mini:batch\": {\n inputPer1M: 0.55,\n outputPer1M: 2.2,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-01-31\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o3-pro\": {\n inputPer1M: 20,\n outputPer1M: 80,\n addedAt: \"2025-06-10\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o3:batch\": {\n inputPer1M: 1,\n outputPer1M: 4,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-16\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o4-mini\": {\n inputPer1M: 1.1,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-16\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o4-mini-high\": {\n inputPer1M: 1.1,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-16\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openai/o4-mini:batch\": {\n inputPer1M: 0.55,\n outputPer1M: 2.2,\n cacheReadMultiplier: 0.25,\n addedAt: \"2025-04-16\",\n vendor: \"openai\",\n provider: \"openrouter\",\n },\n \"openrouter/auto\": {\n inputPer1M: -1000000,\n outputPer1M: -1000000,\n addedAt: \"2023-11-08\",\n vendor: \"openrouter\",\n provider: \"openrouter\",\n },\n \"openrouter/auto-beta\": {\n inputPer1M: -1000000,\n outputPer1M: -1000000,\n addedAt: \"2026-07-17\",\n vendor: \"openrouter\",\n provider: \"openrouter\",\n },\n \"openrouter/bodybuilder\": {\n inputPer1M: -1000000,\n outputPer1M: -1000000,\n addedAt: \"2025-12-05\",\n vendor: \"openrouter\",\n provider: \"openrouter\",\n },\n \"openrouter/fusion\": {\n inputPer1M: -1000000,\n outputPer1M: -1000000,\n addedAt: \"2026-06-13\",\n vendor: \"openrouter\",\n provider: \"openrouter\",\n },\n \"openrouter/pareto-code\": {\n inputPer1M: -1000000,\n outputPer1M: -1000000,\n addedAt: \"2026-04-21\",\n vendor: \"openrouter\",\n provider: \"openrouter\",\n },\n \"perceptron/perceptron-mk1\": {\n inputPer1M: 0.15,\n outputPer1M: 1.5,\n addedAt: \"2026-05-12\",\n vendor: \"perceptron\",\n provider: \"openrouter\",\n },\n \"perplexity/sonar\": {\n inputPer1M: 1,\n outputPer1M: 1,\n addedAt: \"2025-01-27\",\n vendor: \"perplexity\",\n provider: \"openrouter\",\n },\n \"perplexity/sonar-deep-research\": {\n inputPer1M: 2,\n outputPer1M: 8,\n addedAt: \"2025-03-07\",\n vendor: \"perplexity\",\n provider: \"openrouter\",\n },\n \"perplexity/sonar-pro\": {\n inputPer1M: 3,\n outputPer1M: 15,\n addedAt: \"2025-03-07\",\n vendor: \"perplexity\",\n provider: \"openrouter\",\n },\n \"perplexity/sonar-pro-search\": {\n inputPer1M: 3,\n outputPer1M: 15,\n addedAt: \"2025-10-30\",\n vendor: \"perplexity\",\n provider: \"openrouter\",\n },\n \"perplexity/sonar-reasoning-pro\": {\n inputPer1M: 2,\n outputPer1M: 8,\n addedAt: \"2025-03-07\",\n vendor: \"perplexity\",\n provider: \"openrouter\",\n },\n \"poolside/laguna-s-2.1\": {\n inputPer1M: 0.09,\n outputPer1M: 0.18,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-21\",\n vendor: \"poolside\",\n provider: \"openrouter\",\n },\n \"poolside/laguna-xs-2.1\": {\n inputPer1M: 0.06,\n outputPer1M: 0.12,\n cacheReadMultiplier: 0.5,\n addedAt: \"2026-07-02\",\n vendor: \"poolside\",\n provider: \"openrouter\",\n },\n \"prism-ml/ternary-bonsai-2-27b\": {\n inputPer1M: 0.075,\n outputPer1M: 0.5,\n addedAt: \"2026-09-18\",\n vendor: \"prism-ml\",\n provider: \"openrouter\",\n },\n \"qwen/qwen-2.5-72b-instruct\": {\n inputPer1M: 0.36,\n outputPer1M: 0.4,\n addedAt: \"2024-09-19\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen-2.5-7b-instruct\": {\n inputPer1M: 0.1,\n outputPer1M: 0.2,\n addedAt: \"2024-10-16\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen-2.5-coder-32b-instruct\": {\n inputPer1M: 0.66,\n outputPer1M: 1,\n addedAt: \"2024-11-11\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen-plus\": {\n inputPer1M: 0.26,\n outputPer1M: 0.78,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-02-01\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen-plus-2025-07-28\": {\n inputPer1M: 0.26,\n outputPer1M: 0.78,\n addedAt: \"2025-09-08\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen2.5-vl-72b-instruct\": {\n inputPer1M: 0.8,\n outputPer1M: 1,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-02-01\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-14b\": {\n inputPer1M: 0.12,\n outputPer1M: 0.24,\n addedAt: \"2025-04-28\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-235b-a22b\": {\n inputPer1M: 0.455,\n outputPer1M: 1.82,\n addedAt: \"2025-04-28\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-235b-a22b-2507\": {\n inputPer1M: 0.0875,\n outputPer1M: 0.35,\n cacheReadMultiplier: 0.2,\n addedAt: \"2025-07-21\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-235b-a22b-thinking-2507\": {\n inputPer1M: 0.23,\n outputPer1M: 2.3,\n addedAt: \"2025-07-25\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-30b-a3b\": {\n inputPer1M: 0.12,\n outputPer1M: 0.5,\n addedAt: \"2025-04-28\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-30b-a3b-instruct-2507\": {\n inputPer1M: 0.1,\n outputPer1M: 0.3,\n addedAt: \"2025-07-29\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-30b-a3b-thinking-2507\": {\n inputPer1M: 0.2,\n outputPer1M: 2.4,\n addedAt: \"2025-08-28\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-32b\": {\n inputPer1M: 0.08,\n outputPer1M: 0.28,\n addedAt: \"2025-04-28\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-8b\": {\n inputPer1M: 0.117,\n outputPer1M: 0.455,\n addedAt: \"2025-04-28\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-coder\": {\n inputPer1M: 0.3,\n outputPer1M: 1,\n cacheReadMultiplier: 0.333333,\n addedAt: \"2025-07-23\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-coder-30b-a3b-instruct\": {\n inputPer1M: 0.07,\n outputPer1M: 0.28,\n addedAt: \"2025-07-31\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-coder-flash\": {\n inputPer1M: 0.195,\n outputPer1M: 0.975,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-09-17\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-coder-next\": {\n inputPer1M: 0.12,\n outputPer1M: 0.8,\n cacheReadMultiplier: 0.583333,\n addedAt: \"2026-02-04\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-coder-plus\": {\n inputPer1M: 0.65,\n outputPer1M: 3.25,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-09-23\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-max\": {\n inputPer1M: 0.78,\n outputPer1M: 3.9,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-09-23\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-max-thinking\": {\n inputPer1M: 0.78,\n outputPer1M: 3.9,\n addedAt: \"2026-02-09\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-next-80b-a3b-instruct\": {\n inputPer1M: 0.1,\n outputPer1M: 1.1,\n cacheReadMultiplier: 0.7,\n addedAt: \"2025-09-11\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-next-80b-a3b-thinking\": {\n inputPer1M: 0.15,\n outputPer1M: 1.2,\n addedAt: \"2025-09-11\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-vl-235b-a22b-instruct\": {\n inputPer1M: 0.21,\n outputPer1M: 1.9,\n cacheReadMultiplier: 0.47619,\n addedAt: \"2025-09-23\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-vl-235b-a22b-thinking\": {\n inputPer1M: 0.4,\n outputPer1M: 4,\n addedAt: \"2025-09-23\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-vl-30b-a3b-instruct\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n addedAt: \"2025-10-06\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-vl-30b-a3b-thinking\": {\n inputPer1M: 0.2,\n outputPer1M: 2.4,\n addedAt: \"2025-10-06\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-vl-32b-instruct\": {\n inputPer1M: 0.104,\n outputPer1M: 0.416,\n addedAt: \"2025-10-23\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-vl-8b-instruct\": {\n inputPer1M: 0.117,\n outputPer1M: 0.455,\n addedAt: \"2025-10-14\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3-vl-8b-thinking\": {\n inputPer1M: 0.18,\n outputPer1M: 2.1,\n addedAt: \"2025-10-14\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-122b-a10b\": {\n inputPer1M: 0.26,\n outputPer1M: 2.08,\n addedAt: \"2026-02-25\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-27b\": {\n inputPer1M: 0.195,\n outputPer1M: 1.56,\n addedAt: \"2026-02-25\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-35b-a3b\": {\n inputPer1M: 0.3125,\n outputPer1M: 1.25,\n cacheReadMultiplier: 0.5,\n addedAt: \"2026-02-25\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-397b-a17b\": {\n inputPer1M: 0.55,\n outputPer1M: 3.5,\n cacheReadMultiplier: 0.409091,\n addedAt: \"2026-02-16\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-9b\": {\n inputPer1M: 0.1,\n outputPer1M: 0.15,\n addedAt: \"2026-03-10\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-flash-02-23\": {\n inputPer1M: 0.065,\n outputPer1M: 0.26,\n addedAt: \"2026-02-25\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-plus-02-15\": {\n inputPer1M: 0.26,\n outputPer1M: 1.56,\n addedAt: \"2026-02-16\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.5-plus-20260420\": {\n inputPer1M: 0.3,\n outputPer1M: 1.8,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-27\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.6-27b\": {\n inputPer1M: 0.32,\n outputPer1M: 2.7,\n cacheReadMultiplier: 0.46875,\n addedAt: \"2026-04-27\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.6-35b-a3b\": {\n inputPer1M: 0.15,\n outputPer1M: 1,\n cacheReadMultiplier: 0.333333,\n addedAt: \"2026-04-27\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.6-flash\": {\n inputPer1M: 0.1875,\n outputPer1M: 1.125,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-27\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.6-max-preview\": {\n inputPer1M: 1.027,\n outputPer1M: 6.162,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-27\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.6-plus\": {\n inputPer1M: 0.325,\n outputPer1M: 1.95,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-02\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.7-flash\": {\n inputPer1M: 0.03,\n outputPer1M: 0.13,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.266667,\n addedAt: \"2026-07-27\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.7-max\": {\n inputPer1M: 1.475,\n outputPer1M: 4.425,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-05-21\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.7-plus\": {\n inputPer1M: 0.32,\n outputPer1M: 1.28,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-03\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.8-2.4t-a95b\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.125,\n addedAt: \"2026-08-12\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.8-27b\": {\n inputPer1M: 0.42,\n outputPer1M: 3,\n cacheReadMultiplier: 0.202381,\n addedAt: \"2026-08-14\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.8-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.47,\n cacheReadMultiplier: 0.106667,\n cacheWriteMultiplier: 1.333333,\n addedAt: \"2026-08-26\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.8-max-0902\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.125,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-03\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.8-max-prime\": {\n inputPer1M: 4,\n outputPer1M: 12,\n cacheReadMultiplier: 0.125,\n addedAt: \"2026-09-23\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"qwen/qwen3.8-omni-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.47,\n cacheReadMultiplier: 0.106667,\n addedAt: \"2026-09-21\",\n vendor: \"qwen\",\n provider: \"openrouter\",\n },\n \"rekaai/reka-edge\": {\n inputPer1M: 0.1,\n outputPer1M: 0.1,\n addedAt: \"2026-03-20\",\n vendor: \"rekaai\",\n provider: \"openrouter\",\n },\n \"rekaai/reka-flash-3\": {\n inputPer1M: 0.1,\n outputPer1M: 0.2,\n addedAt: \"2025-03-12\",\n vendor: \"rekaai\",\n provider: \"openrouter\",\n },\n \"relace/relace-apply-3\": {\n inputPer1M: 0.85,\n outputPer1M: 1.25,\n addedAt: \"2025-09-26\",\n vendor: \"relace\",\n provider: \"openrouter\",\n },\n \"relace/relace-search\": {\n inputPer1M: 1,\n outputPer1M: 3,\n addedAt: \"2025-12-08\",\n vendor: \"relace\",\n provider: \"openrouter\",\n },\n \"sakana/fugu-max\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.125,\n addedAt: \"2026-09-11\",\n vendor: \"sakana\",\n provider: \"openrouter\",\n },\n \"sakana/fugu-ultra\": {\n inputPer1M: 5,\n outputPer1M: 30,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-06-24\",\n vendor: \"sakana\",\n provider: \"openrouter\",\n },\n \"sakana/fugu-ultra-v2\": {\n inputPer1M: 5,\n outputPer1M: 30,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-09-11\",\n vendor: \"sakana\",\n provider: \"openrouter\",\n },\n \"sakana/sakana-namazu\": {\n inputPer1M: 0.95,\n outputPer1M: 4,\n cacheReadMultiplier: 0.157895,\n addedAt: \"2026-08-11\",\n vendor: \"sakana\",\n provider: \"openrouter\",\n },\n \"sao10k/l3-lunaris-8b\": {\n inputPer1M: 0.04,\n outputPer1M: 0.05,\n addedAt: \"2024-08-13\",\n vendor: \"sao10k\",\n provider: \"openrouter\",\n },\n \"sao10k/l3.1-euryale-70b\": {\n inputPer1M: 0.85,\n outputPer1M: 0.85,\n addedAt: \"2024-08-28\",\n vendor: \"sao10k\",\n provider: \"openrouter\",\n },\n \"sao10k/l3.3-euryale-70b\": {\n inputPer1M: 0.65,\n outputPer1M: 0.75,\n addedAt: \"2024-12-18\",\n vendor: \"sao10k\",\n provider: \"openrouter\",\n },\n \"stepfun/step-3.5-flash\": {\n inputPer1M: 0.1,\n outputPer1M: 0.3,\n addedAt: \"2026-01-29\",\n vendor: \"stepfun\",\n provider: \"openrouter\",\n },\n \"stepfun/step-3.7-flash\": {\n inputPer1M: 0.2,\n outputPer1M: 1.15,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-05-28\",\n vendor: \"stepfun\",\n provider: \"openrouter\",\n },\n \"tencent/hunyuan-a13b-instruct\": {\n inputPer1M: 0.14,\n outputPer1M: 0.57,\n addedAt: \"2025-07-08\",\n vendor: \"tencent\",\n provider: \"openrouter\",\n },\n \"tencent/hy-mt2-1.8b\": {\n inputPer1M: 0.044,\n outputPer1M: 0.177,\n addedAt: \"2026-08-20\",\n vendor: \"tencent\",\n provider: \"openrouter\",\n },\n \"tencent/hy-mt2-30b-a3b\": {\n inputPer1M: 0.074,\n outputPer1M: 0.295,\n addedAt: \"2026-08-20\",\n vendor: \"tencent\",\n provider: \"openrouter\",\n },\n \"tencent/hy-mt2-7b\": {\n inputPer1M: 0.074,\n outputPer1M: 0.295,\n addedAt: \"2026-08-19\",\n vendor: \"tencent\",\n provider: \"openrouter\",\n },\n \"tencent/hy3\": {\n inputPer1M: 0.132,\n outputPer1M: 0.528,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-07-06\",\n vendor: \"tencent\",\n provider: \"openrouter\",\n },\n \"tencent/hy3-preview\": {\n inputPer1M: 0.18,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.333333,\n addedAt: \"2026-04-22\",\n vendor: \"tencent\",\n provider: \"openrouter\",\n },\n \"tencent/hy4-preview\": {\n inputPer1M: 0.834,\n outputPer1M: 2.501,\n cacheReadMultiplier: 0.05036,\n addedAt: \"2026-08-28\",\n vendor: \"tencent\",\n provider: \"openrouter\",\n },\n \"thedrummer/cydonia-24b-v4.1\": {\n inputPer1M: 0.3,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.5,\n addedAt: \"2025-09-27\",\n vendor: \"thedrummer\",\n provider: \"openrouter\",\n },\n \"thedrummer/skyfall-36b-v2\": {\n inputPer1M: 0.55,\n outputPer1M: 0.8,\n cacheReadMultiplier: 0.454545,\n addedAt: \"2025-03-10\",\n vendor: \"thedrummer\",\n provider: \"openrouter\",\n },\n \"thedrummer/unslopnemo-12b\": {\n inputPer1M: 0.4,\n outputPer1M: 0.4,\n addedAt: \"2024-11-08\",\n vendor: \"thedrummer\",\n provider: \"openrouter\",\n },\n \"thinkingmachines/inkling\": {\n inputPer1M: 1,\n outputPer1M: 4.05,\n cacheReadMultiplier: 0.17,\n addedAt: \"2026-07-17\",\n vendor: \"thinkingmachines\",\n provider: \"openrouter\",\n },\n \"thinkingmachines/inkling-small\": {\n inputPer1M: 0.45,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.222222,\n addedAt: \"2026-07-30\",\n vendor: \"thinkingmachines\",\n provider: \"openrouter\",\n },\n \"unbiased/pareto\": {\n inputPer1M: 2.5,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-09-17\",\n vendor: \"unbiased\",\n provider: \"openrouter\",\n },\n \"undi95/remm-slerp-l2-13b\": {\n inputPer1M: 0.35,\n outputPer1M: 0.65,\n addedAt: \"2023-07-22\",\n vendor: \"undi95\",\n provider: \"openrouter\",\n },\n \"upstage/solar-mini4\": {\n inputPer1M: 0.05,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-09-23\",\n vendor: \"upstage\",\n provider: \"openrouter\",\n },\n \"upstage/solar-pro-3\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-01-27\",\n vendor: \"upstage\",\n provider: \"openrouter\",\n },\n \"upstage/solar-pro4\": {\n inputPer1M: 0.09,\n outputPer1M: 0.36,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-08-10\",\n vendor: \"upstage\",\n provider: \"openrouter\",\n },\n \"writer/palmyra-x5\": {\n inputPer1M: 0.6,\n outputPer1M: 6,\n addedAt: \"2026-01-21\",\n vendor: \"writer\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-4.20\": {\n inputPer1M: 1.25,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.16,\n addedAt: \"2026-03-31\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-4.20-multi-agent\": {\n inputPer1M: 1.25,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.16,\n addedAt: \"2026-03-31\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-4.3\": {\n inputPer1M: 1.25,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.16,\n addedAt: \"2026-04-30\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-4.3:batch\": {\n inputPer1M: 1,\n outputPer1M: 2,\n cacheReadMultiplier: 0.16,\n addedAt: \"2026-04-30\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-4.5\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.15,\n addedAt: \"2026-07-08\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-4.6\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-08-12\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-4.7\": {\n inputPer1M: 1.6,\n outputPer1M: 4.8,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-09-21\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"x-ai/grok-build-0.1\": {\n inputPer1M: 1,\n outputPer1M: 2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-05-20\",\n vendor: \"x-ai\",\n provider: \"openrouter\",\n },\n \"xiaomi/mimo-v2.5\": {\n inputPer1M: 0.14,\n outputPer1M: 0.28,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-04-22\",\n vendor: \"xiaomi\",\n provider: \"openrouter\",\n },\n \"xiaomi/mimo-v2.5-pro\": {\n inputPer1M: 0.435,\n outputPer1M: 0.87,\n cacheReadMultiplier: 0.008276,\n addedAt: \"2026-04-22\",\n vendor: \"xiaomi\",\n provider: \"openrouter\",\n },\n \"xiaomi/mimo-v2.6-flash\": {\n inputPer1M: 0.14,\n outputPer1M: 0.28,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-09-21\",\n vendor: \"xiaomi\",\n provider: \"openrouter\",\n },\n \"xiaomi/mimo-v2.6-pro\": {\n inputPer1M: 0.435,\n outputPer1M: 0.87,\n cacheReadMultiplier: 0.008276,\n addedAt: \"2026-09-21\",\n vendor: \"xiaomi\",\n provider: \"openrouter\",\n },\n \"xiaomi/mimo-v2.6-pro-ultraspeed\": {\n inputPer1M: 4.35,\n outputPer1M: 8.7,\n cacheReadMultiplier: 0.008276,\n addedAt: \"2026-09-21\",\n vendor: \"xiaomi\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-4.5\": {\n inputPer1M: 0.6,\n outputPer1M: 2.2,\n cacheReadMultiplier: 0.183333,\n addedAt: \"2025-07-25\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-4.5-air\": {\n inputPer1M: 0.13,\n outputPer1M: 0.85,\n cacheReadMultiplier: 0.192308,\n addedAt: \"2025-07-25\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-4.5v\": {\n inputPer1M: 0.6,\n outputPer1M: 1.8,\n cacheReadMultiplier: 0.183333,\n addedAt: \"2025-08-11\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-4.6\": {\n inputPer1M: 0.43,\n outputPer1M: 1.75,\n cacheReadMultiplier: 0.186047,\n addedAt: \"2025-09-30\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-4.6v\": {\n inputPer1M: 0.3,\n outputPer1M: 0.9,\n cacheReadMultiplier: 0.183333,\n addedAt: \"2025-12-08\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-4.7\": {\n inputPer1M: 0.6,\n outputPer1M: 2.2,\n cacheReadMultiplier: 0.183333,\n addedAt: \"2025-12-22\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-4.7-flash\": {\n inputPer1M: 0.0605,\n outputPer1M: 0.4,\n addedAt: \"2026-01-19\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5\": {\n inputPer1M: 0.6,\n outputPer1M: 1.92,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-02-11\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5-turbo\": {\n inputPer1M: 1.2,\n outputPer1M: 4,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-03-15\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.1\": {\n inputPer1M: 0.9646,\n outputPer1M: 3.0316,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-04-07\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.2\": {\n inputPer1M: 0.6496,\n outputPer1M: 2.0416,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-06-16\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.3\": {\n inputPer1M: 1.4,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-08-18\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.3-flash\": {\n inputPer1M: 0.045,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.633333,\n addedAt: \"2026-08-26\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.3-flash:batch\": {\n inputPer1M: 0.06,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-08-26\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.3-flashx\": {\n inputPer1M: 0.37,\n outputPer1M: 1.25,\n cacheReadMultiplier: 0.243243,\n addedAt: \"2026-09-18\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.3-prime\": {\n inputPer1M: 2.8,\n outputPer1M: 8.8,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-09-23\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5.3:batch\": {\n inputPer1M: 0.45,\n outputPer1M: 2,\n cacheReadMultiplier: 0.222222,\n addedAt: \"2026-08-18\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"z-ai/glm-5v-turbo\": {\n inputPer1M: 1.2,\n outputPer1M: 4,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-04-01\",\n vendor: \"z-ai\",\n provider: \"openrouter\",\n },\n \"~anthropic/claude-fable-latest\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.025,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-09\",\n vendor: \"~anthropic\",\n provider: \"openrouter\",\n },\n \"~anthropic/claude-haiku-latest\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-27\",\n vendor: \"~anthropic\",\n provider: \"openrouter\",\n },\n \"~anthropic/claude-opus-latest\": {\n inputPer1M: 4,\n outputPer1M: 20,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-21\",\n vendor: \"~anthropic\",\n provider: \"openrouter\",\n },\n \"~anthropic/claude-sonnet-latest\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-27\",\n vendor: \"~anthropic\",\n provider: \"openrouter\",\n },\n \"~deepseek/deepseek-flash-latest\": {\n inputPer1M: 0.04,\n outputPer1M: 1,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-09-14\",\n vendor: \"~deepseek\",\n provider: \"openrouter\",\n },\n \"~deepseek/deepseek-pro-latest\": {\n inputPer1M: 0.3894,\n outputPer1M: 1.1682,\n cacheReadMultiplier: 0.031818,\n addedAt: \"2026-09-14\",\n vendor: \"~deepseek\",\n provider: \"openrouter\",\n },\n \"~deepseek/deepseek-v4-flash-latest\": {\n inputPer1M: 0.03,\n outputPer1M: 0.32,\n cacheReadMultiplier: 0.533333,\n addedAt: \"2026-08-01\",\n vendor: \"~deepseek\",\n provider: \"openrouter\",\n },\n \"~google/gemini-flash-latest\": {\n inputPer1M: 0.75,\n outputPer1M: 3.75,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.055556,\n addedAt: \"2026-04-27\",\n vendor: \"~google\",\n provider: \"openrouter\",\n },\n \"~google/gemini-pro-latest\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 0.1875,\n addedAt: \"2026-04-27\",\n vendor: \"~google\",\n provider: \"openrouter\",\n },\n \"~moonshotai/kimi-latest\": {\n inputPer1M: 0.8845,\n outputPer1M: 10.5346,\n cacheReadMultiplier: 0.339175,\n addedAt: \"2026-04-27\",\n vendor: \"~moonshotai\",\n provider: \"openrouter\",\n },\n \"~openai/gpt-astra-latest\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-11\",\n vendor: \"~openai\",\n provider: \"openrouter\",\n },\n \"~openai/gpt-luna-latest\": {\n inputPer1M: 0.1,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-11\",\n vendor: \"~openai\",\n provider: \"openrouter\",\n },\n \"~openai/gpt-mini-latest\": {\n inputPer1M: 0.75,\n outputPer1M: 4.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-04-27\",\n vendor: \"~openai\",\n provider: \"openrouter\",\n },\n \"~openai/gpt-sol-latest\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-11\",\n vendor: \"~openai\",\n provider: \"openrouter\",\n },\n \"~openai/gpt-terra-latest\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-11\",\n vendor: \"~openai\",\n provider: \"openrouter\",\n },\n \"~x-ai/grok-latest\": {\n inputPer1M: 1.6,\n outputPer1M: 4.8,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-07-08\",\n vendor: \"~x-ai\",\n provider: \"openrouter\",\n },\n \"~z-ai/glm-flash-latest\": {\n inputPer1M: 0.045,\n outputPer1M: 0.14,\n cacheReadMultiplier: 0.222222,\n addedAt: \"2026-08-27\",\n vendor: \"~z-ai\",\n provider: \"openrouter\",\n },\n \"~z-ai/glm-latest\": {\n inputPer1M: 0.5614,\n outputPer1M: 1.7644,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-08-19\",\n vendor: \"~z-ai\",\n provider: \"openrouter\",\n },\n}\n\n/** Provider slugs treated as OpenRouter routes by the picker. */\nexport const OPENROUTER_PROVIDERS: readonly string[] = [\n \"aion-labs\",\n \"amazon\",\n \"anthracite-org\",\n \"anthropic\",\n \"arcee-ai\",\n \"baidu\",\n \"bytedance\",\n \"bytedance-seed\",\n \"cognitivecomputations\",\n \"cohere\",\n \"deepseek\",\n \"fireworks\",\n \"google\",\n \"gryphe\",\n \"ibm-granite\",\n \"inception\",\n \"inclusionai\",\n \"inference-net\",\n \"kwaipilot\",\n \"mancer\",\n \"meituan\",\n \"meta\",\n \"meta-llama\",\n \"microsoft\",\n \"minimax\",\n \"mistralai\",\n \"moonshotai\",\n \"morph\",\n \"nousresearch\",\n \"nvidia\",\n \"openai\",\n \"openrouter\",\n \"perceptron\",\n \"perplexity\",\n \"poolside\",\n \"prism-ml\",\n \"qwen\",\n \"rekaai\",\n \"relace\",\n \"sakana\",\n \"sao10k\",\n \"stepfun\",\n \"tencent\",\n \"thedrummer\",\n \"thinkingmachines\",\n \"unbiased\",\n \"undi95\",\n \"upstage\",\n \"writer\",\n \"x-ai\",\n \"xiaomi\",\n \"z-ai\",\n \"~anthropic\",\n \"~deepseek\",\n \"~google\",\n \"~moonshotai\",\n \"~openai\",\n \"~x-ai\",\n \"~z-ai\",\n]\n","// AUTO-GENERATED by @agentproto/catalog-sync (llm:context-windows).\n// Do not edit by hand — re-run `pnpm --filter @agentproto/catalog-sync generate --refresh`.\n// Sources: api.anthropic.com/v1/models, api.groq.com/openai/v1/models,\n// api.x.ai/v1/models, api.moonshot.ai/v1/models,\n// api.mistral.ai/v1/models\n// google entries: SOURCED FROM OPENROUTER (openrouter.ai/api/v1/models),\n// Google's native API is billing-blocked — ids remapped from\n// google/<id> to the bare native id; see the generator's module\n// doc comment for the exact remap + skip rules.\n// Context window (max input tokens) + max output tokens per live model id.\n// NOT pricing — see LLM_PRICING_CATALOG / OPENROUTER_ROUTES in catalog.ts.\n\nexport interface ContextWindowEntry {\n contextWindow: number\n maxOutput?: number\n displayName?: string\n provider: \"anthropic\" | \"groq\" | \"xai\" | \"moonshot\" | \"mistral\" | \"google\"\n}\n\nexport const CONTEXT_WINDOWS: Record<string, ContextWindowEntry> = {\n \"allam-2-7b\": { contextWindow: 4096, maxOutput: 4096, provider: \"groq\" },\n \"canopylabs/orpheus-arabic-saudi\": { contextWindow: 4000, maxOutput: 50000, provider: \"groq\" },\n \"canopylabs/orpheus-v1-english\": { contextWindow: 4000, maxOutput: 50000, provider: \"groq\" },\n \"claude-fable-5\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Fable 5\", provider: \"anthropic\" },\n \"claude-fable-5-1\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Fable 5.1\", provider: \"anthropic\" },\n \"claude-haiku-4-5\": { contextWindow: 200000, maxOutput: 64000, displayName: \"Claude Haiku 4.5\", provider: \"anthropic\" },\n \"claude-haiku-4-5-20251001\": { contextWindow: 200000, maxOutput: 64000, displayName: \"Claude Haiku 4.5\", provider: \"anthropic\" },\n \"claude-opus-4-5\": { contextWindow: 200000, maxOutput: 64000, displayName: \"Claude Opus 4.5\", provider: \"anthropic\" },\n \"claude-opus-4-5-20251101\": { contextWindow: 200000, maxOutput: 64000, displayName: \"Claude Opus 4.5\", provider: \"anthropic\" },\n \"claude-opus-4-6\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Opus 4.6\", provider: \"anthropic\" },\n \"claude-opus-4-7\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Opus 4.7\", provider: \"anthropic\" },\n \"claude-opus-4-8\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Opus 4.8\", provider: \"anthropic\" },\n \"claude-opus-5\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Opus 5\", provider: \"anthropic\" },\n \"claude-opus-5-5\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Opus 5.5\", provider: \"anthropic\" },\n \"claude-sonnet-4-5\": { contextWindow: 1000000, maxOutput: 64000, displayName: \"Claude Sonnet 4.5\", provider: \"anthropic\" },\n \"claude-sonnet-4-5-20250929\": { contextWindow: 1000000, maxOutput: 64000, displayName: \"Claude Sonnet 4.5\", provider: \"anthropic\" },\n \"claude-sonnet-4-6\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Sonnet 4.6\", provider: \"anthropic\" },\n \"claude-sonnet-5\": { contextWindow: 1000000, maxOutput: 128000, displayName: \"Claude Sonnet 5\", provider: \"anthropic\" },\n \"codestral-2508\": { contextWindow: 256000, provider: \"mistral\" },\n \"codestral-embed\": { contextWindow: 8192, provider: \"mistral\" },\n \"codestral-embed-2505\": { contextWindow: 8192, provider: \"mistral\" },\n \"codestral-latest\": { contextWindow: 256000, provider: \"mistral\" },\n \"gemini-2.5-flash\": { contextWindow: 1048576, maxOutput: 65535, provider: \"google\" },\n \"gemini-2.5-flash-lite\": { contextWindow: 1048576, maxOutput: 65535, provider: \"google\" },\n \"gemini-2.5-pro\": { contextWindow: 1048576, maxOutput: 65536, provider: \"google\" },\n \"gemini-3-flash-preview\": { contextWindow: 1048576, maxOutput: 65536, provider: \"google\" },\n \"gemini-3.1-flash-lite\": { contextWindow: 1048576, maxOutput: 65536, provider: \"google\" },\n \"gemini-3.1-pro-preview\": { contextWindow: 1048576, maxOutput: 65536, provider: \"google\" },\n \"gemini-3.5-flash\": { contextWindow: 1048576, maxOutput: 65536, provider: \"google\" },\n \"glm-5-2\": { contextWindow: 1048576, provider: \"mistral\" },\n \"grok-4.20-0309-non-reasoning\": { contextWindow: 1000000, provider: \"xai\" },\n \"grok-4.20-0309-reasoning\": { contextWindow: 1000000, provider: \"xai\" },\n \"grok-4.20-multi-agent-0309\": { contextWindow: 1000000, provider: \"xai\" },\n \"grok-4.3\": { contextWindow: 1000000, provider: \"xai\" },\n \"grok-4.5\": { contextWindow: 500000, provider: \"xai\" },\n \"grok-4.6\": { contextWindow: 500000, provider: \"xai\" },\n \"grok-4.7\": { contextWindow: 500000, provider: \"xai\" },\n \"grok-build-0.1\": { contextWindow: 256000, provider: \"xai\" },\n \"grok-imagine-image\": { contextWindow: 16000, provider: \"xai\" },\n \"grok-imagine-image-2.0\": { contextWindow: 64000, provider: \"xai\" },\n \"grok-imagine-image-quality\": { contextWindow: 16000, provider: \"xai\" },\n \"groq/compound\": { contextWindow: 131072, maxOutput: 8192, provider: \"groq\" },\n \"groq/compound-mini\": { contextWindow: 131072, maxOutput: 8192, provider: \"groq\" },\n \"kimi-k2.6\": { contextWindow: 262144, provider: \"moonshot\" },\n \"kimi-k2.7-code\": { contextWindow: 262144, provider: \"moonshot\" },\n \"kimi-k2.7-code-highspeed\": { contextWindow: 262144, provider: \"moonshot\" },\n \"kimi-k3\": { contextWindow: 1048576, provider: \"moonshot\" },\n \"labs-leanstral-1-5\": { contextWindow: 262144, provider: \"mistral\" },\n \"labs-leanstral-1-5-1\": { contextWindow: 262144, provider: \"mistral\" },\n \"llama-3.1-8b-instant\": { contextWindow: 131072, maxOutput: 131072, provider: \"groq\" },\n \"llama-3.3-70b-versatile\": { contextWindow: 131072, maxOutput: 32768, provider: \"groq\" },\n \"magistral-medium-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"magistral-small-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"meta-llama/llama-4-scout-17b-16e-instruct\": { contextWindow: 131072, maxOutput: 8192, provider: \"groq\" },\n \"meta-llama/llama-prompt-guard-2-22m\": { contextWindow: 512, maxOutput: 512, provider: \"groq\" },\n \"meta-llama/llama-prompt-guard-2-86m\": { contextWindow: 512, maxOutput: 512, provider: \"groq\" },\n \"ministral-14b-2512\": { contextWindow: 262144, provider: \"mistral\" },\n \"ministral-14b-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"ministral-3b-2512\": { contextWindow: 131072, provider: \"mistral\" },\n \"ministral-3b-latest\": { contextWindow: 131072, provider: \"mistral\" },\n \"ministral-8b-2512\": { contextWindow: 262144, provider: \"mistral\" },\n \"ministral-8b-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-code-fim-latest\": { contextWindow: 256000, provider: \"mistral\" },\n \"mistral-code-latest\": { contextWindow: 256000, provider: \"mistral\" },\n \"mistral-embed\": { contextWindow: 8192, provider: \"mistral\" },\n \"mistral-embed-2312\": { contextWindow: 8192, provider: \"mistral\" },\n \"mistral-large-2512\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-large-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-medium\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-medium-2604\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-medium-3\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-medium-3-5\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-medium-3.5\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-medium-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-moderation-2603\": { contextWindow: 131072, provider: \"mistral\" },\n \"mistral-ocr-2512\": { contextWindow: 16384, provider: \"mistral\" },\n \"mistral-ocr-3\": { contextWindow: 16384, provider: \"mistral\" },\n \"mistral-ocr-3-0\": { contextWindow: 16384, provider: \"mistral\" },\n \"mistral-ocr-4\": { contextWindow: 16384, provider: \"mistral\" },\n \"mistral-ocr-4-0\": { contextWindow: 16384, provider: \"mistral\" },\n \"mistral-ocr-4-1\": { contextWindow: 16384, provider: \"mistral\" },\n \"mistral-ocr-latest\": { contextWindow: 16384, provider: \"mistral\" },\n \"mistral-small-2603\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-small-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-vibe-cli-fast\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-vibe-cli-latest\": { contextWindow: 262144, provider: \"mistral\" },\n \"mistral-vibe-cli-with-tools\": { contextWindow: 262144, provider: \"mistral\" },\n \"openai/gpt-oss-120b\": { contextWindow: 131072, maxOutput: 65536, provider: \"groq\" },\n \"openai/gpt-oss-20b\": { contextWindow: 131072, maxOutput: 65536, provider: \"groq\" },\n \"openai/gpt-oss-safeguard-20b\": { contextWindow: 131072, maxOutput: 65536, provider: \"groq\" },\n \"qwen/qwen3-32b\": { contextWindow: 131072, maxOutput: 40960, provider: \"groq\" },\n \"qwen/qwen3.6-27b\": { contextWindow: 131072, maxOutput: 32768, provider: \"groq\" },\n \"voxtral-mini-2602\": { contextWindow: 16384, provider: \"mistral\" },\n \"voxtral-mini-latest\": { contextWindow: 16384, provider: \"mistral\" },\n \"voxtral-mini-realtime-2602\": { contextWindow: 32768, provider: \"mistral\" },\n \"voxtral-mini-realtime-latest\": { contextWindow: 32768, provider: \"mistral\" },\n \"voxtral-mini-transcribe-realtime-2602\": { contextWindow: 32768, provider: \"mistral\" },\n \"voxtral-mini-tts-2603\": { contextWindow: 4096, provider: \"mistral\" },\n \"voxtral-mini-tts-latest\": { contextWindow: 4096, provider: \"mistral\" },\n \"voxtral-small-2507\": { contextWindow: 32768, provider: \"mistral\" },\n \"voxtral-small-latest\": { contextWindow: 32768, provider: \"mistral\" },\n \"whisper-large-v3\": { contextWindow: 448, maxOutput: 448, provider: \"groq\" },\n \"whisper-large-v3-turbo\": { contextWindow: 448, maxOutput: 448, provider: \"groq\" },\n \"zai-glm-5\": { contextWindow: 1048576, provider: \"mistral\" },\n \"zai-glm-5-2\": { contextWindow: 1048576, provider: \"mistral\" },\n \"zai-glm-5-3\": { contextWindow: 1048576, provider: \"mistral\" },\n \"zai-glm-latest\": { contextWindow: 1048576, provider: \"mistral\" },\n}\n","// GENERATED FILE — do not edit; regenerate with scripts/catalog-sync/sync-mistral.mjs (data: Mistral /v1/models + OpenRouter pricing, synced 2026-08-31T13:04:34.630Z)\n\nexport const MISTRAL_GENERATED_PRICING = {\n \"codestral-2508\": { inputPer1M: 0.3, outputPer1M: 0.9, cacheReadMultiplier: 0.1, vendor: \"mistral\", provider: \"mistral\" },\n \"ministral-14b-2512\": { inputPer1M: 0.2, outputPer1M: 0.2, cacheReadMultiplier: 0.1, vendor: \"mistral\", provider: \"mistral\" },\n \"ministral-3b-2512\": { inputPer1M: 0.1, outputPer1M: 0.1, cacheReadMultiplier: 0.1, vendor: \"mistral\", provider: \"mistral\" },\n \"ministral-8b-2512\": { inputPer1M: 0.15, outputPer1M: 0.15, cacheReadMultiplier: 0.1, vendor: \"mistral\", provider: \"mistral\" },\n \"mistral-large-2512\": { inputPer1M: 0.5, outputPer1M: 1.5, cacheReadMultiplier: 0.1, vendor: \"mistral\", provider: \"mistral\" },\n \"mistral-medium-3\": { inputPer1M: 0.4, outputPer1M: 2, cacheReadMultiplier: 0.1, vendor: \"mistral\", provider: \"mistral\" },\n \"mistral-medium-3-5\": { inputPer1M: 1.5, outputPer1M: 7.5, vendor: \"mistral\", provider: \"mistral\" },\n \"mistral-medium-3.5\": { inputPer1M: 1.5, outputPer1M: 7.5, vendor: \"mistral\", provider: \"mistral\" },\n \"mistral-small-2603\": { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadMultiplier: 0.1, vendor: \"mistral\", provider: \"mistral\" },\n} as const\n","// GENERATED FILE — do not edit; regenerate with scripts/catalog-sync/sync-moonshot.mjs (data: Moonshot API + OpenRouter pricing, synced 2026-08-31T13:04:34.153Z)\n\nexport const MOONSHOT_GENERATED_PRICING = {\n \"kimi-k2.6\": { inputPer1M: 0.95, outputPer1M: 4, cacheReadMultiplier: 0.1684, vendor: \"moonshot\", provider: \"moonshot\" },\n \"kimi-k2.7-code\": { inputPer1M: 0.66, outputPer1M: 3.4, cacheReadMultiplier: 0.2727, vendor: \"moonshot\", provider: \"moonshot\" },\n \"kimi-k3\": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, vendor: \"moonshot\", provider: \"moonshot\" },\n} as const\n","// GENERATED FILE — do not edit; regenerate with scripts/catalog-sync/sync-anthropic.mjs (data: CONTEXT_WINDOWS fallback (ANTHROPIC_API_KEY unavailable) + OpenRouter pricing, synced 2026-08-31T13:29:13.694Z)\n\nexport const ANTHROPIC_GENERATED_PRICING = {\n \"claude-fable-5\": { inputPer1M: 10, outputPer1M: 50, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-haiku-4-5\": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-haiku-4-5-20251001\": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-opus-4-5\": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-opus-4-5-20251101\": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-opus-4-6\": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-opus-4-7\": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-opus-4-8\": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-opus-5\": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-sonnet-4-5\": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-sonnet-4-5-20250929\": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-sonnet-4-6\": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"anthropic\", provider: \"anthropic\" },\n \"claude-sonnet-5\": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"anthropic\", provider: \"anthropic\" },\n} as const\n","// GENERATED FILE — do not edit; regenerate with scripts/catalog-sync/sync-google.mjs (data: OpenRouter remap — Google native API blocked, see llm-context-windows.ts, synced 2026-08-31T12:53:14.081Z)\n\nexport const GOOGLE_GENERATED_PRICING = {\n \"gemini-2.5-flash\": { inputPer1M: 0.3, outputPer1M: 2.5, cacheReadMultiplier: 0.1, vendor: \"google\", provider: \"google\" },\n \"gemini-2.5-flash-lite\": { inputPer1M: 0.1, outputPer1M: 0.4, cacheReadMultiplier: 0.1, vendor: \"google\", provider: \"google\" },\n \"gemini-2.5-pro\": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.1, vendor: \"google\", provider: \"google\" },\n \"gemini-3-flash-preview\": { inputPer1M: 0.5, outputPer1M: 3, cacheReadMultiplier: 0.1, vendor: \"google\", provider: \"google\" },\n \"gemini-3.1-flash-lite\": { inputPer1M: 0.25, outputPer1M: 1.5, cacheReadMultiplier: 0.1, vendor: \"google\", provider: \"google\" },\n \"gemini-3.1-pro-preview\": { inputPer1M: 2, outputPer1M: 12, cacheReadMultiplier: 0.1, vendor: \"google\", provider: \"google\" },\n \"gemini-3.5-flash\": { inputPer1M: 1.5, outputPer1M: 9, cacheReadMultiplier: 0.1, vendor: \"google\", provider: \"google\" },\n} as const\n","// GENERATED FILE — do not edit; regenerate with scripts/catalog-sync/sync-openai.mjs (data: OpenRouter passthrough — OpenAI has NO native models/pricing endpoint, see packages/catalog-sync/src/sources/openai.ts, synced 2026-08-31T13:08:57.175Z)\n//\n// ⚠ These prices are OpenRouter's rates, NOT the official\n// openai.com/api/pricing page. OpenAI publishes no stable machine-readable\n// models/pricing endpoint, so OpenRouter passthrough is the only automated\n// source for both ids and prices; OpenRouter rates may differ from\n// OpenAI's first-party pricing.\n\nexport const OPENAI_GENERATED_PRICING = {\n \"gpt-3.5-turbo\": { inputPer1M: 0.5, outputPer1M: 1.5, vendor: \"openai\", provider: \"openai\" },\n \"gpt-3.5-turbo-0613\": { inputPer1M: 1, outputPer1M: 2, vendor: \"openai\", provider: \"openai\" },\n \"gpt-3.5-turbo-16k\": { inputPer1M: 3, outputPer1M: 4, vendor: \"openai\", provider: \"openai\" },\n \"gpt-3.5-turbo-instruct\": { inputPer1M: 1.5, outputPer1M: 2, vendor: \"openai\", provider: \"openai\" },\n \"gpt-4\": { inputPer1M: 30, outputPer1M: 60, vendor: \"openai\", provider: \"openai\" },\n \"gpt-4-turbo\": { inputPer1M: 10, outputPer1M: 30, vendor: \"openai\", provider: \"openai\" },\n \"gpt-4-turbo-preview\": { inputPer1M: 10, outputPer1M: 30, vendor: \"openai\", provider: \"openai\" },\n \"gpt-4.1\": { inputPer1M: 2, outputPer1M: 8, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\" },\n \"gpt-4.1-mini\": { inputPer1M: 0.4, outputPer1M: 1.6, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\" },\n \"gpt-4.1-nano\": { inputPer1M: 0.1, outputPer1M: 0.4, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\" },\n \"gpt-4o\": { inputPer1M: 2.5, outputPer1M: 10, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\" },\n \"gpt-4o-2024-05-13\": { inputPer1M: 5, outputPer1M: 15, vendor: \"openai\", provider: \"openai\" },\n \"gpt-4o-2024-08-06\": { inputPer1M: 2.5, outputPer1M: 10, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\" },\n \"gpt-4o-2024-11-20\": { inputPer1M: 2.5, outputPer1M: 10, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\" },\n \"gpt-4o-mini\": { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\" },\n \"gpt-4o-mini-2024-07-18\": { inputPer1M: 0.15, outputPer1M: 0.6, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5\": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5-image\": { inputPer1M: 10, outputPer1M: 10, cacheReadMultiplier: 0.125, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5-image-mini\": { inputPer1M: 2.5, outputPer1M: 2, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5-mini\": { inputPer1M: 0.25, outputPer1M: 2, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5-nano\": { inputPer1M: 0.05, outputPer1M: 0.4, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5-pro\": { inputPer1M: 15, outputPer1M: 120, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.1\": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.1-codex\": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.104, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.1-codex-max\": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.1-codex-mini\": { inputPer1M: 0.25, outputPer1M: 2, cacheReadMultiplier: 0.12, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.2\": { inputPer1M: 1.75, outputPer1M: 14, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.2-chat\": { inputPer1M: 1.75, outputPer1M: 14, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.2-codex\": { inputPer1M: 1.75, outputPer1M: 14, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.2-pro\": { inputPer1M: 21, outputPer1M: 168, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.3-codex\": { inputPer1M: 1.75, outputPer1M: 14, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.4\": { inputPer1M: 2.5, outputPer1M: 15, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.4-mini\": { inputPer1M: 0.75, outputPer1M: 4.5, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.4-nano\": { inputPer1M: 0.2, outputPer1M: 1.25, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.4-pro\": { inputPer1M: 30, outputPer1M: 180, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.5\": { inputPer1M: 5, outputPer1M: 30, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.5-pro\": { inputPer1M: 30, outputPer1M: 180, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.6-luna\": { inputPer1M: 0.2, outputPer1M: 1.2, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.6-luna-pro\": { inputPer1M: 0.2, outputPer1M: 1.2, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.6-sol\": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.6-sol-pro\": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.6-terra\": { inputPer1M: 2, outputPer1M: 12, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\" },\n \"gpt-5.6-terra-pro\": { inputPer1M: 2, outputPer1M: 12, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: \"openai\", provider: \"openai\" },\n \"gpt-audio\": { inputPer1M: 2.5, outputPer1M: 10, vendor: \"openai\", provider: \"openai\" },\n \"gpt-audio-mini\": { inputPer1M: 0.6, outputPer1M: 2.4, vendor: \"openai\", provider: \"openai\" },\n \"gpt-chat-latest\": { inputPer1M: 5, outputPer1M: 30, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-oss-120b\": { inputPer1M: 0.037, outputPer1M: 0.17, vendor: \"openai\", provider: \"openai\" },\n \"gpt-oss-120b:batch\": { inputPer1M: 0.15, outputPer1M: 0.6, vendor: \"openai\", provider: \"openai\" },\n \"gpt-oss-20b\": { inputPer1M: 0.03, outputPer1M: 0.13, cacheReadMultiplier: 1, vendor: \"openai\", provider: \"openai\" },\n \"gpt-oss-20b:batch\": { inputPer1M: 0.05, outputPer1M: 0.2, vendor: \"openai\", provider: \"openai\" },\n \"gpt-oss-safeguard-20b\": { inputPer1M: 0.075, outputPer1M: 0.3, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\" },\n \"o1\": { inputPer1M: 15, outputPer1M: 60, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\" },\n \"o1-pro\": { inputPer1M: 150, outputPer1M: 600, vendor: \"openai\", provider: \"openai\" },\n \"o3\": { inputPer1M: 2, outputPer1M: 8, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\" },\n \"o3-mini\": { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\" },\n \"o3-mini-high\": { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadMultiplier: 0.5, vendor: \"openai\", provider: \"openai\" },\n \"o3-pro\": { inputPer1M: 20, outputPer1M: 80, vendor: \"openai\", provider: \"openai\" },\n \"o4-mini\": { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\" },\n \"o4-mini-high\": { inputPer1M: 1.1, outputPer1M: 4.4, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\" },\n} as const\n","// GENERATED FILE — do not edit; regenerate with scripts/catalog-sync/sync-minimax.mjs\n// (ids: committed PascalCase native list from catalog.ts, pricing: OpenRouter /v1/models (minimax/*), synced 2026-08-31T13:21:02.179Z)\n// Normalization: lowercase → prepend \"minimax-\" when missing\n// Known native ids: MiniMax-M2, M2-her, MiniMax-M2.1, MiniMax-M2.5, MiniMax-M2.7\n//\n// ⚠ cacheReadMultiplier is derived from OpenRouter's input_cache_read where\n// present; OpenRouter's minimax/* routes carry NO input_cache_write field at\n// all, for any id — cacheWriteMultiplier can never be derived from this\n// source. See the PR body for the consequence on ids that had a manual\n// cacheWriteMultiplier.\n\nexport const MINIMAX_GENERATED_PRICING = {\n \"M2-her\": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.1, vendor: \"minimax\", provider: \"minimax\" },\n \"MiniMax-M2\": { inputPer1M: 0.255, outputPer1M: 1.02, vendor: \"minimax\", provider: \"minimax\" },\n \"MiniMax-M2.1\": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.1, vendor: \"minimax\", provider: \"minimax\" },\n \"MiniMax-M2.5\": { inputPer1M: 0.27, outputPer1M: 1.08, cacheReadMultiplier: 0.1, vendor: \"minimax\", provider: \"minimax\" },\n \"MiniMax-M2.7\": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.2, vendor: \"minimax\", provider: \"minimax\" },\n} as const\n","// GENERATED FILE — do not edit; regenerate with scripts/catalog-sync/sync-xai.mjs (data: xAI /v1/models native pricing, synced 2026-08-31T13:29:43.909Z)\n//\n// Prices are xAI's NATIVE rates (no OpenRouter passthrough): raw\n// `prompt_text_token_price` / `completion_text_token_price` /\n// `cached_prompt_text_token_price` are per 1 token → $ per 1M = raw / 10000.\n//\n// ⚠ `longContext` (tier pricing above `thresholdTokens` tokens) is captured\n// for reference only — the billing engine does NOT model long-context tiers\n// yet (same gap as the Gemini >200k tiers: see `catalog.ts:172` and\n// `catalog.ts:204`).\n\nexport interface XAIPricingEntry {\n /** $ per 1M input tokens (short-context tier). */\n inputPer1M: number\n /** $ per 1M output tokens (short-context tier). */\n outputPer1M: number\n /** $ per 1M cached input tokens. */\n cachedInputPer1M?: number\n /**\n * Long-context tier (prompts above `thresholdTokens`). CAPTURED BUT NOT\n * YET CONSUMED — the billing engine applies a single price regardless of\n * prompt size (see `catalog.ts:172`, `catalog.ts:204`).\n */\n longContext?: {\n inputPer1M: number\n outputPer1M: number\n cachedInputPer1M?: number\n thresholdTokens: number\n }\n /** Who authored the model (always \"xai\"). */\n vendor: \"xai\"\n /** Route used to call the model (always \"xai\" — direct SDK). */\n provider: \"xai\"\n}\n\nexport const XAI_GENERATED_PRICING = {\n \"grok-4.20\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-0309\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-0309-non-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-0309-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-0309\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-0309-non-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-0309-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-latest-non-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-latest-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-non-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-beta-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-experimental-beta-0304\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-experimental-beta-0304-non-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-experimental-beta-0304-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-experimental-beta-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-experimental-beta-non-reasoning-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-experimental-beta-reasoning-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-multi-agent\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-multi-agent-0309\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-multi-agent-beta-0309\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-multi-agent-beta-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-multi-agent-experimental-beta-0304\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-multi-agent-experimental-beta-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-multi-agent-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-non-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-non-reasoning-gv2\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-non-reasoning-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-reasoning\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-reasoning-gv2\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.20-reasoning-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.3\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.3-latest\": { inputPer1M: 1.25, outputPer1M: 2.5, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2.5, outputPer1M: 5, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.5\": { inputPer1M: 2, outputPer1M: 6, cachedInputPer1M: 0.3, longContext: { inputPer1M: 4, outputPer1M: 12, cachedInputPer1M: 0.6, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.5-latest\": { inputPer1M: 2, outputPer1M: 6, cachedInputPer1M: 0.3, longContext: { inputPer1M: 4, outputPer1M: 12, cachedInputPer1M: 0.6, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-4.6\": { inputPer1M: 2, outputPer1M: 6, cachedInputPer1M: 0.5, longContext: { inputPer1M: 4, outputPer1M: 12, cachedInputPer1M: 1, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-build-0.1\": { inputPer1M: 1, outputPer1M: 2, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2, outputPer1M: 4, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-build-latest\": { inputPer1M: 2, outputPer1M: 6, cachedInputPer1M: 0.3, longContext: { inputPer1M: 4, outputPer1M: 12, cachedInputPer1M: 0.6, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-code-fast\": { inputPer1M: 1, outputPer1M: 2, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2, outputPer1M: 4, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-code-fast-1\": { inputPer1M: 1, outputPer1M: 2, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2, outputPer1M: 4, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n \"grok-code-fast-1-0825\": { inputPer1M: 1, outputPer1M: 2, cachedInputPer1M: 0.2, longContext: { inputPer1M: 2, outputPer1M: 4, cachedInputPer1M: 0.4, thresholdTokens: 200000 }, vendor: \"xai\", provider: \"xai\" },\n} as const satisfies Record<string, XAIPricingEntry>\n","/**\n * LLM Pricing Catalog — per-token costs for all LLM models.\n *\n * Migrated from `packages/core/src/config/llm-pricing.ts` (commit `eeb1acdc`\n * era). The original location now re-exports from here so every existing\n * consumer (orchestrator dynamic imports, agent-analytics) keeps working.\n *\n * Prices in USD per 1M tokens (input and output separated).\n * Credit costs are what we charge users (includes margin).\n */\n\nimport type { CatalogProvider } from \"../schema/base.js\"\n\nexport interface LLMPricing {\n /** Provider cost: $ per 1M input tokens */\n inputPer1M: number\n /** Provider cost: $ per 1M output tokens */\n outputPer1M: number\n /**\n * Strategic per-model centicredit override for input. Bypasses the\n * default `inputPer1M × text-markup / CC_USD_RATE` formula. Use only\n * for explicit loss-leader / promo models — formula path is\n * cost-plus-margin by construction and self-heals when providers\n * change rates.\n *\n * Unit: **centicredits per 1M input tokens** (1 displayed credit =\n * 100 cc). Example: `overrideCreditInputPer1M: 1000` charges 10\n * displayed credits per 1M input tokens.\n */\n overrideCreditInputPer1M?: number\n /** Same as `overrideCreditInputPer1M`, for output tokens. Unit: cc/1M. */\n overrideCreditOutputPer1M?: number\n /**\n * Provider-side discount for cache-read tokens (Anthropic prompt\n * caching: ~10% of base input). Default 1.0 — no cache discount —\n * for providers without prompt caching. Applies to BOTH the\n * provider-cost calculation AND the derived credit cost so the\n * margin holds for cached vs uncached tokens.\n */\n cacheReadMultiplier?: number\n /**\n * Provider-side premium for cache-creation tokens (Anthropic prompt\n * caching: ~125% of base input — slightly more than uncached, but\n * the savings come from subsequent reads). Default 1.0. Applies to\n * BOTH sides like `cacheReadMultiplier`.\n */\n cacheWriteMultiplier?: number\n /**\n * Router / SDK used to call the model. Same model can be reachable via\n * multiple providers — `claude-sonnet-4-5` is `provider: \"anthropic\"`\n * when called through the Anthropic SDK and `provider: \"openrouter\"`\n * when routed through OpenRouter. Distinct from `vendor`: this is HOW\n * we reach the model, not WHO made it.\n * - bare ids (`claude-sonnet-4-5`, `gpt-4o`, `gemini-2.5-flash`)\n * → `\"anthropic\" | \"openai\" | \"google\"` (direct providers)\n * - slash ids (`anthropic/claude-sonnet-4-5`, `qwen/qwen3-coder`)\n * → `\"openrouter\"` (always — the slash is the OpenRouter route\n * convention and the OpenRouter SDK is what runs them)\n *\n * The runtime can still pass an explicit `connectorUsed` to\n * `emitUsageEvent` — that wins over this default and covers the\n * edge case where a guild has multiple connectors and the\n * dispatcher routed to a non-default one.\n */\n provider?: CatalogProvider\n /**\n * Who authored / built the model. Permanent attribute, independent of\n * the router: `claude-sonnet-4-5` is always `vendor: \"anthropic\"`\n * regardless of whether `provider` is `\"anthropic\"` (direct) or\n * `\"openrouter\"` (proxied). Used for display labels, BYOK gating, and\n * analytics grouping. Examples: `anthropic`, `openai`, `google`,\n * `moonshot`, `mistralai`, `minimax`, `meta`, `qwen`, `deepseek`.\n */\n vendor?: string\n /**\n * ISO date (`YYYY-MM-DD`) this id was first seen by a catalog-sync run.\n * Generator-owned (currently emitted by `llm:openrouter` / `llm:requesty`;\n * hand-maintained catalog rows below leave it unset) — backfilled from the\n * provider's own creation timestamp when the source has one, else the\n * sync run's date, and NEVER mutated once stamped. See\n * `packages/catalog-sync/src/added-at.ts` and\n * `packages/catalog-sync/README.md` for the full convention.\n */\n addedAt?: string\n}\n\nimport { OPENROUTER_ROUTES } from \"./openrouter-routes.generated.js\"\nimport { pricingRegistry, CC_USD_RATE } from \"../pricing/index.js\"\nimport { CONTEXT_WINDOWS, type ContextWindowEntry } from \"./context-windows.generated.js\"\nimport { MISTRAL_GENERATED_PRICING } from \"./mistral-pricing.generated.js\"\nimport { MOONSHOT_GENERATED_PRICING } from \"./moonshot-pricing.generated.js\"\nimport { ANTHROPIC_GENERATED_PRICING } from \"./anthropic-pricing.generated.js\"\nimport { GOOGLE_GENERATED_PRICING } from \"./google-pricing.generated.js\"\nimport { OPENAI_GENERATED_PRICING } from \"./openai-pricing.generated.js\"\nimport { MINIMAX_GENERATED_PRICING } from \"./minimax-pricing.generated.js\"\nimport { XAI_GENERATED_PRICING } from \"./xai-pricing.generated.js\"\n\n/**\n * Explicit, named, reasoned manual pricing — the ONLY sanctioned form of\n * hand-written pricing left in this catalog. An id lands here for exactly\n * one of two reasons, stated per-entry in `reason`:\n * - no generator covers this id at all (a structural gap — a \"-latest\"\n * alias spelling, a retired preview, a build-suffix/alias mismatch), or\n * - the value is a known-unverified placeholder that predates any sync.\n *\n * An id a generator DOES cover is priced by that generator directly and\n * NEVER duplicated here, regardless of whether the (now deleted) hand-typed\n * row used to disagree with the generated value — generated wins\n * unconditionally on a divergence; see the PR body's divergence table for\n * every case that applied to, and the exact two values each side had.\n */\nexport const PRICING_OVERRIDES: Record<string, LLMPricing & { reason: string }> = {\n // claude-opus-4-5 / claude-haiku-4-5 / claude-sonnet-4-5 (bare) and\n // grok-4.20 / grok-4.20-reasoning / grok-4.20-multi-agent used to live\n // here as hand-typed numbers, justified by \"no generator produces this\n // exact spelling\" — true, but that only justifies the id's EXISTENCE, not\n // hand-typing its PRICE when a same-model sibling under a different id is\n // already generated (Anthropic's dated form, xAI's own declared alias).\n // Fixed at the generator, not papered over here:\n // - sync-anthropic.mjs now mechanically derives every bare \"aged-out\"\n // id from its dated sibling (strip the -YYYYMMDD suffix), same price.\n // - sync-xai.mjs now expands every model's own `aliases` array from\n // xAI's live payload into additional priced entries.\n // Both bare-id sets are gone from this map for good — see the PR body's\n // divergence table for what the old hand-typed numbers here were wrong\n // by (these were on ids adapters/auth-profiles actually spawn).\n\n \"kimi-k2-0905-preview\": {\n reason:\n \"Not present in Moonshot's current live model list (api.moonshot.ai/v1/models returned 4 models total on the sync run that produced moonshot-pricing.generated.ts) -- likely retired or renamed since this row was hand-added.\",\n inputPer1M: 0.6, outputPer1M: 2.5, cacheReadMultiplier: 0.25, vendor: \"moonshot\", provider: \"moonshot\",\n },\n\n \"kimi-k2-thinking\": {\n reason:\n \"Same as kimi-k2-0905-preview -- absent from Moonshot's current live model list.\",\n inputPer1M: 0.6, outputPer1M: 2.5, cacheReadMultiplier: 0.25, vendor: \"moonshot\", provider: \"moonshot\",\n },\n\n \"kimi-k2-thinking-turbo\": {\n reason:\n \"Same as kimi-k2-0905-preview -- absent from Moonshot's current live model list.\",\n inputPer1M: 1.15, outputPer1M: 8.0, cacheReadMultiplier: 0.13, vendor: \"moonshot\", provider: \"moonshot\",\n },\n\n \"kimi-k2-turbo-preview\": {\n reason:\n \"Same as kimi-k2-0905-preview -- absent from Moonshot's current live model list.\",\n inputPer1M: 1.15, outputPer1M: 8.0, cacheReadMultiplier: 0.13, vendor: \"moonshot\", provider: \"moonshot\",\n },\n\n \"kimi-k2.5\": {\n reason:\n \"Same as kimi-k2-0905-preview -- absent from Moonshot's current live model list.\",\n inputPer1M: 0.6, outputPer1M: 3.0, cacheReadMultiplier: 0.17, vendor: \"moonshot\", provider: \"moonshot\",\n },\n\n // mistral-large-latest / mistral-small-latest / codestral-latest /\n // ministral-8b-latest: \"no generator produces this exact -latest\n // spelling\" is true and justifies the id existing here, but it does NOT\n // justify a hand-typed NUMBER when a same-family dated sibling is already\n // generated (mistral-large-2512, mistral-small-2603, codestral-2508,\n // ministral-8b-2512 respectively) — that was the same mistake as the\n // Anthropic/xAI bare-id overrides above, just not mechanically fixable at\n // the generator (Mistral's dated suffixes, e.g. -2512, don't strip back\n // to \"-latest\" the way Anthropic's -YYYYMMDD strips to a bare id). Spread\n // the generated sibling's pricing directly instead of retyping it, so a\n // re-sync that changes the dated price changes this too, automatically.\n \"mistral-large-latest\": {\n reason: \"\\\"-latest\\\" alias spelling has no generated counterpart of its own; derives from the dated sibling mistral-large-2512 (MISTRAL_GENERATED_PRICING) rather than a hand-typed number.\",\n ...MISTRAL_GENERATED_PRICING[\"mistral-large-2512\"],\n },\n\n \"mistral-small-latest\": {\n reason: \"\\\"-latest\\\" alias spelling has no generated counterpart of its own; derives from the dated sibling mistral-small-2603 (MISTRAL_GENERATED_PRICING) rather than a hand-typed number. The old hand-typed value here (0.06/0.18, cache 0.5) diverged from this — see the PR body's divergence table.\",\n ...MISTRAL_GENERATED_PRICING[\"mistral-small-2603\"],\n },\n\n \"codestral-latest\": {\n reason: \"\\\"-latest\\\" alias spelling has no generated counterpart of its own; derives from the dated sibling codestral-2508 (MISTRAL_GENERATED_PRICING) rather than a hand-typed number. The old hand-typed value here (0.5/1.5, a copy-pasted placeholder) diverged from this — see the PR body's divergence table.\",\n ...MISTRAL_GENERATED_PRICING[\"codestral-2508\"],\n },\n\n \"ministral-8b-latest\": {\n reason: \"\\\"-latest\\\" alias spelling has no generated counterpart of its own; derives from the dated sibling ministral-8b-2512 (MISTRAL_GENERATED_PRICING) rather than a hand-typed number. The old hand-typed value here (0.06/0.18, a copy-pasted placeholder) diverged from this — see the PR body's divergence table.\",\n ...MISTRAL_GENERATED_PRICING[\"ministral-8b-2512\"],\n },\n\n \"mistral-medium-latest\": {\n reason:\n \"PLACEHOLDER, explicitly marked `// TODO verify pricing` in the row this replaces -- copy-pasted 0.5/1.5 template value, never real. Unlike the four rows above, this one is NOT auto-derived from a generated sibling: MISTRAL_GENERATED_PRICING has THREE medium candidates (mistral-medium-3, mistral-medium-3-5, mistral-medium-3.5) and which one \\\"-latest\\\" currently means is an editorial call this sync can't safely make -- picking wrong would silently misprice, which is worse than an honestly-labeled unverified placeholder. Needs a human to confirm which dated id is current, then wire it the same way as mistral-large-latest above.\",\n inputPer1M: 0.5, outputPer1M: 1.5, vendor: \"mistral\", provider: \"mistral\",\n },\n\n \"devstral-latest\": {\n reason:\n \"PLACEHOLDER, explicitly marked `// TODO verify pricing` -- copy-pasted 0.5/1.5 template value, never real. No generated counterpart at all (Mistral's chat-model sync doesn't currently return a devstral id).\",\n inputPer1M: 0.5, outputPer1M: 1.5, vendor: \"mistral\", provider: \"mistral\",\n },\n\n \"magistral-small-latest\": {\n reason:\n \"PLACEHOLDER, explicitly marked `// TODO verify pricing` -- copy-pasted 0.06/0.18 template value, never real. No generated counterpart at all.\",\n inputPer1M: 0.06, outputPer1M: 0.18, vendor: \"mistral\", provider: \"mistral\",\n },\n\n \"devstral-medium-latest\": {\n reason:\n \"PLACEHOLDER, explicitly marked `// TODO verify pricing` -- copy-pasted 0.5/1.5 template value, never real. No generated counterpart at all.\",\n inputPer1M: 0.5, outputPer1M: 1.5, vendor: \"mistral\", provider: \"mistral\",\n },\n\n \"gpt-5-codex\": {\n reason:\n \"No generated counterpart -- not present in OpenRouter's openai/* listing under this exact id (OpenAI has no native pricing endpoint at all, see packages/catalog-sync/src/sources/openai.ts, so OpenRouter is the only automated source and it doesn't carry this specific id).\",\n inputPer1M: 1.25, outputPer1M: 10.0, cacheReadMultiplier: 0.1, vendor: \"openai\", provider: \"openai\",\n },\n\n \"o1-mini\": {\n reason:\n \"No generated counterpart -- not present in OpenRouter's openai/* listing under this exact id.\",\n inputPer1M: 0.55, outputPer1M: 2.2, vendor: \"openai\", provider: \"openai\",\n },\n\n \"o3-deep-research\": {\n reason:\n \"No generated counterpart -- not present in OpenRouter's openai/* listing under this exact id.\",\n inputPer1M: 10.0, outputPer1M: 40.0, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\",\n },\n\n \"o4-mini-deep-research\": {\n reason:\n \"No generated counterpart -- not present in OpenRouter's openai/* listing under this exact id.\",\n inputPer1M: 2.0, outputPer1M: 8.0, cacheReadMultiplier: 0.25, vendor: \"openai\", provider: \"openai\",\n },\n}\n\n/** `PRICING_OVERRIDES` stripped of its `reason` field — what actually gets\n * spread into `LLM_PRICING_CATALOG`; `reason` is documentation, not a\n * pricing field. */\nconst PRICING_OVERRIDES_PRICING: Record<string, LLMPricing> = Object.fromEntries(\n Object.entries(PRICING_OVERRIDES).map(([id, { reason: _reason, ...pricing }]) => [id, pricing])\n)\n\nexport const LLM_PRICING_CATALOG = {\n // Every provider below is fully generated from that provider's own live\n // sync (`scripts/catalog-sync/sync-*.mjs`) — existence AND price both come\n // from the provider's native id space wherever the provider exposes one\n // (Anthropic, xAI, MiniMax, Moonshot, Mistral, Google-via-remap); OpenRouter\n // supplies PRICE only for those, never ids, except for OpenAI, the one\n // provider with no native id/pricing source of its own at all, where\n // OpenRouter is the sole source for both. On any id a generator covers,\n // the generated value wins UNCONDITIONALLY — no hand-typed row duplicates\n // an id a generator already prices, even where they used to disagree; see\n // the PR body's divergence table. `PRICING_OVERRIDES` above is the only\n // surviving hand-written pricing, spread last, one reasoned entry per id.\n ...MISTRAL_GENERATED_PRICING,\n ...MOONSHOT_GENERATED_PRICING,\n ...ANTHROPIC_GENERATED_PRICING,\n ...GOOGLE_GENERATED_PRICING,\n ...OPENAI_GENERATED_PRICING,\n ...MINIMAX_GENERATED_PRICING,\n ...XAI_GENERATED_PRICING,\n ...PRICING_OVERRIDES_PRICING,\n\n // ── OpenRouter routes — generated by `scripts/catalog-sync` from\n // https://openrouter.ai/api/v1/models. Re-run\n // `pnpm --filter @agentproto/catalog-sync sync:openrouter`\n // to refresh.\n ...OPENROUTER_ROUTES,\n} satisfies Record<string, LLMPricing>\n\n/**\n * Every canonical catalog model id. Existence is NOT the same question as\n * \"does this id have a price\" — `LLM_PRICING_CATALOG`'s keys alone used to\n * answer both, which meant a real, live, provider-published model with no\n * pricing row yet (the Anthropic `claude-opus-4-6` incident: synced by\n * `catalog-sync`, present in `CONTEXT_WINDOWS`, absent here) simply ceased\n * to exist anywhere downstream — invisible in `agentproto models`, unlisted\n * in every adapter's native allow-list, silently resolved to a stale alias.\n * `LlmModelId` now unions the pricing keys with `CONTEXT_WINDOWS` (each\n * provider's own synced `/v1/models` id list — see\n * `packages/catalog-sync/src/generators/llm-context-windows.ts` — carries\n * ids independent of whether a price has synced yet) and `OPENROUTER_ROUTES`\n * (thousands of ids, self-updating). A model can be a member of this type\n * with `resolvePricing` returning `undefined` for it — callers MUST treat\n * that as \"price not yet known,\" never as \"doesn't exist\" (see\n * `ResolvedModel`'s `pricing?` in `registry/index.ts`, and `isKnownLlmId`\n * below for an existence-only check). Downstream curation/config should\n * still constrain ids to this type so a typo is a build error.\n */\nexport type LlmModelId =\n | keyof typeof LLM_PRICING_CATALOG\n | keyof typeof CONTEXT_WINDOWS\n | keyof typeof OPENROUTER_ROUTES\n\n/**\n * True iff `modelId` is a real, known catalog id — regardless of whether it\n * has a price yet. Use this (not `resolvePricing(id) !== undefined`) to\n * answer \"does this model exist\"; use `resolvePricing`/`resolvePricingExact`\n * to answer \"what does it cost\" — the two questions are independent by\n * design, see `LlmModelId`'s doc comment.\n */\nexport function isKnownLlmId(modelId: string): boolean {\n return (\n modelId in LLM_PRICING_CATALOG ||\n modelId in CONTEXT_WINDOWS ||\n modelId in OPENROUTER_ROUTES\n )\n}\n\n/**\n * Every known LLM id that has NO pricing row (`CONTEXT_WINDOWS` ∪\n * `OPENROUTER_ROUTES`, minus whatever `LLM_PRICING_CATALOG` already prices)\n * — the enumeration `listModels`'s `llm` branch needs to surface a\n * known-but-unpriced model instead of silently dropping it. Each entry\n * carries its provider when derivable (see `getModelProvider`).\n */\nexport function listUnpricedKnownLlmIds(): Array<{\n id: string\n provider: CatalogProvider | undefined\n}> {\n const ids = new Set<string>([\n ...Object.keys(CONTEXT_WINDOWS),\n ...Object.keys(OPENROUTER_ROUTES),\n ])\n const result: Array<{ id: string; provider: CatalogProvider | undefined }> = []\n for (const id of ids) {\n if (id in LLM_PRICING_CATALOG) continue\n result.push({ id, provider: getModelProvider(id) })\n }\n return result\n}\n\n// ── Aliases (map model IDs to catalog keys) ─────────────────────────────\n\nexport const MODEL_ALIASES = {\n // Anthropic — alias targets must be real Anthropic model ids since\n // `resolveAlias` feeds the result straight to the SDK.\n //\n // `claude-opus-4-6` / `claude-sonnet-4-6` used to alias here to 4.5 —\n // the silent-downgrade bug this PR fixes (agentproto catalog-sync). Both\n // are now real, directly-priced `LlmModelId`s via\n // `ANTHROPIC_GENERATED_PRICING` above; an alias pointing them at 4.5\n // would just re-introduce the same silent downgrade, so it's removed,\n // not kept.\n \"claude-4-opus\": \"claude-opus-4-5\",\n \"claude-4-sonnet\": \"claude-sonnet-4-5\",\n \"claude-3-5-haiku\": \"claude-haiku-4-5\",\n \"claude-haiku-4-5-20251001\": \"claude-haiku-4-5\",\n // Back-compat: configs persisted under the old (invalid) catalog keys\n // route to the renamed canonical keys instead of 404'ing at Anthropic.\n \"claude-opus-4\": \"claude-opus-4-5\",\n \"claude-sonnet-4\": \"claude-sonnet-4-5\",\n \"claude-haiku-3.5\": \"claude-haiku-4-5\",\n // Google — slash-prefixed forms collapse to the direct catalog keys.\n // Bare `gemini-3.1-pro-preview` / `gemini-3-flash-preview` /\n // `gemini-2.5-flash-lite` / `gemini-3.1-flash-lite` are now real catalog\n // entries with their own verified pricing (direct match wins over alias).\n \"gemini-3.1-flash-lite-preview\": \"gemini-3.1-flash-lite\",\n \"google/gemini-3.1-pro-preview\": \"gemini-3.1-pro-preview\",\n \"google/gemini-3.5-flash\": \"gemini-3.5-flash\",\n \"google/gemini-3-flash-preview\": \"gemini-3-flash-preview\",\n \"google/gemini-3.1-flash-lite\": \"gemini-3.1-flash-lite\",\n \"google/gemini-2.5-flash\": \"gemini-2.5-flash\",\n \"google/gemini-2.5-flash-lite\": \"gemini-2.5-flash-lite\",\n \"google/gemini-2.5-pro\": \"gemini-2.5-pro\",\n // OpenAI\n \"openai/gpt-4.1\": \"gpt-4.1\",\n \"openai/gpt-4.1-mini\": \"gpt-4.1-mini\",\n \"openai/gpt-4.1-nano\": \"gpt-4.1-nano\",\n \"openai/gpt-5\": \"gpt-5\",\n \"openai/gpt-5.1\": \"gpt-5.1\",\n \"openai/gpt-5.2\": \"gpt-5.2\",\n \"openai/gpt-5.4\": \"gpt-5.4\",\n \"openai/gpt-5.4-mini\": \"gpt-5.4-mini\",\n \"openai/gpt-5.4-nano\": \"gpt-5.4-nano\",\n \"openai/gpt-5.5\": \"gpt-5.5\",\n \"openai/o3\": \"o3\",\n \"openai/o4-mini\": \"o4-mini\",\n \"openai/o3-mini\": \"o3-mini\",\n \"openai/o1\": \"o1\",\n \"openai/o1-mini\": \"o1-mini\",\n // MiniMax — lowercase / OpenRouter forms collapse to direct.\n \"minimax-m2\": \"MiniMax-M2\",\n \"minimax-m2.1\": \"MiniMax-M2.1\",\n \"minimax-m2.5\": \"MiniMax-M2.5\",\n \"minimax-m2.7\": \"MiniMax-M2.7\",\n // Moonshot — friendly version aliases.\n \"kimi-k2\": \"kimi-k2.5\",\n \"moonshotai/kimi-k2.5\": \"kimi-k2.5\",\n \"moonshotai/kimi-k2.6\": \"kimi-k2.6\",\n \"moonshotai/kimi-k2.7-code\": \"kimi-k2.7-code\",\n \"moonshotai/kimi-k3\": \"kimi-k3\",\n // Mistral\n \"mistralai/mistral-large-latest\": \"mistral-large-latest\",\n \"mistralai/mistral-small-latest\": \"mistral-small-latest\",\n \"mistralai/mistral-medium-latest\": \"mistral-medium-latest\",\n \"mistralai/mistral-medium-3-5\": \"mistral-medium-3-5\",\n \"mistralai/codestral-latest\": \"codestral-latest\",\n \"mistralai/ministral-8b-latest\": \"ministral-8b-latest\",\n \"mistralai/devstral-latest\": \"devstral-latest\",\n \"mistralai/magistral-small-latest\": \"magistral-small-latest\",\n \"mistralai/devstral-medium-latest\": \"devstral-medium-latest\",\n // xAI — alias grok-latest to grok-4.3 (current default).\n \"grok-latest\": \"grok-4.3\",\n} satisfies Record<string, string>\n\n/** Every alias id that resolves to a canonical model — the alias keys. */\nexport type LlmModelAlias = keyof typeof MODEL_ALIASES\n\n/** Any model id the catalog recognises — canonical key or alias. */\nexport type KnownLlmId = LlmModelId | LlmModelAlias\n\n// Typed wide views for dynamic (arbitrary-string) lookups. `satisfies`\n// drops the string index signature on the consts above, so the\n// resolution functions — which take untrusted `modelId: string` — index\n// through these instead of the literal-keyed originals.\nconst PRICING_BY_ID: Record<string, LLMPricing> = LLM_PRICING_CATALOG\nconst ALIAS_BY_ID: Record<string, string> = MODEL_ALIASES\n\n/**\n * Resolves a model id to its pricing entry. Tries direct match → alias →\n * partial-prefix match. Used both for cost computation and BYOK shadow\n * accounting; semantics are load-bearing for migration.\n */\nexport function resolvePricing(modelId: string): LLMPricing | undefined {\n // Direct match\n if (PRICING_BY_ID[modelId]) return PRICING_BY_ID[modelId]\n // Alias\n const alias = ALIAS_BY_ID[modelId]\n if (alias && PRICING_BY_ID[alias]) return PRICING_BY_ID[alias]\n // Partial match (e.g. \"claude-sonnet-4-6-20260301\" → \"claude-sonnet-4\")\n for (const key of Object.keys(PRICING_BY_ID)) {\n if (modelId.includes(key)) return PRICING_BY_ID[key]\n }\n return undefined\n}\n\n/**\n * Like {@link resolvePricing} but WITHOUT the substring/partial-prefix\n * fallback — an id resolves ONLY on an exact catalog key or an exact alias.\n * The substring scan in `resolvePricing` (intended for dated snapshots like\n * `claude-sonnet-4-6-20260301` → `claude-sonnet-4`) also over-fires for\n * unrelated cross-product siblings (`gemini-2.5-flash-image` substring-hits\n * the `gemini-2.5-flash` row), so any caller that must PROVE a verbatim\n * first-party identity — e.g. the direct-vendor route restore in\n * `serviceableModelRoutes` — needs this exact form instead. Semantics of\n * `resolvePricing`/`resolveAlias` are intentionally left unchanged for their\n * existing callers.\n */\nexport function resolvePricingExact(modelId: string): LLMPricing | undefined {\n // Direct match\n if (PRICING_BY_ID[modelId]) return PRICING_BY_ID[modelId]\n // Alias (exact key only — no substring fallback)\n const alias = ALIAS_BY_ID[modelId]\n if (alias && PRICING_BY_ID[alias]) return PRICING_BY_ID[alias]\n return undefined\n}\n\n/**\n * Resolves a model id to its canonical catalog key (or the original id if no\n * match). Public surface for consumers that need the canonical id without\n * the pricing payload.\n */\nexport function resolveAlias(modelId: string): string {\n if (PRICING_BY_ID[modelId]) return modelId\n const alias = ALIAS_BY_ID[modelId]\n if (alias && PRICING_BY_ID[alias]) return alias\n for (const key of Object.keys(PRICING_BY_ID)) {\n if (modelId.includes(key)) return key\n }\n return modelId\n}\n\n/**\n * Resolves a model id to its live context window (max input tokens) and max\n * output tokens, sourced from `CONTEXT_WINDOWS`\n * (`packages/catalog-sync/src/generators/llm-context-windows.ts` — re-synced\n * from each provider's live `/v1/models` endpoint; never hand-maintain these\n * numbers). Covers Anthropic, Groq, xAI, and Moonshot — the providers that\n * publish this data live. Handles bare aliases the provider's own API doesn't\n * use (\"claude-haiku-4-5\" vs. the dated live id \"claude-haiku-4-5-20251001\")\n * via prefix match, then falls back through the pricing alias table for\n * older aliases. Returns undefined for ids no synced provider carries.\n */\nexport function resolveContextWindow(modelId: string): ContextWindowEntry | undefined {\n if (CONTEXT_WINDOWS[modelId]) return CONTEXT_WINDOWS[modelId]\n const datedMatch = Object.keys(CONTEXT_WINDOWS)\n .filter(key => key.startsWith(`${modelId}-2`))\n .sort((a, b) => a.length - b.length)[0]\n if (datedMatch) return CONTEXT_WINDOWS[datedMatch]\n const alias = ALIAS_BY_ID[modelId]\n if (alias && CONTEXT_WINDOWS[alias]) return CONTEXT_WINDOWS[alias]\n return undefined\n}\n\n/**\n * Every live model id `CONTEXT_WINDOWS` carries for one provider — sourced\n * straight from that provider's own `/v1/models` sync (`llm-context-windows.ts`\n * generator), independent of whether the id has landed a pricing row yet.\n *\n * The one legitimate consumer of this today: an adapter's `models.allowed`\n * curation for its native (non-gateway) provider surface. Deriving that list\n * from here instead of a hand-typed array means a newly-published id (e.g.\n * Anthropic shipping `claude-opus-4-9`) becomes offerable the moment the next\n * catalog-sync run picks it up — no code change, no PR. An adapter that wants\n * to hide a specific id anyway (deprecated, not yet vetted) does so with its\n * OWN small denylist filtering this list's output, never by omitting the id\n * from a hand-typed allowlist that silently also hides every future id.\n */\nexport function listNativeModelIds(provider: ContextWindowEntry[\"provider\"]): string[] {\n return Object.entries(CONTEXT_WINDOWS)\n .filter(([, entry]) => entry.provider === provider)\n .map(([id]) => id)\n .sort()\n}\n\n/**\n * Resolve a model id to its DEFAULT provider — the single source of truth for\n * \"which SDK reaches this model when no per-model override is set\". Reads the\n * resolved catalog entry's `provider` field (direct id → alias → partial\n * prefix, same resolution as `resolvePricing`). Returns undefined for unknown\n * ids so callers can fall back to their own heuristic.\n *\n * This is the abstraction that decouples the provider from the model-id STRING:\n * instead of inferring \"claude-* → anthropic\" at each call site, the provider\n * is an explicit catalog attribute. A model reachable through more than one\n * provider (e.g. Claude via the direct Anthropic SDK vs. OpenRouter) is held as\n * distinct catalog entries — the bare id (`claude-haiku-4-5`, provider\n * `anthropic`) and the slash route (`anthropic/claude-haiku-4.5`, provider\n * `openrouter`) — each carrying its own `provider`.\n */\nexport function getModelProvider(modelId: string): CatalogProvider | undefined {\n const pricedProvider = resolvePricing(modelId)?.provider\n if (pricedProvider) return pricedProvider\n // Fallback for a known-but-not-yet-priced id (see `LlmModelId`'s doc\n // comment) — CONTEXT_WINDOWS carries `provider` independent of pricing.\n // \"groq\" is a CONTEXT_WINDOWS provider but not a billing/auth\n // CatalogProvider (Groq never got a pricing generator — see the catalog\n // sync survey in the PR this comment shipped with), so it's excluded\n // rather than mis-cast.\n const cwProvider = resolveContextWindow(modelId)?.provider\n return cwProvider && cwProvider !== \"groq\" ? cwProvider : undefined\n}\n\n/**\n * The unified registry view of a model: canonical id, default provider, vendor,\n * and pricing — everything the routing + billing layers need from ONE lookup.\n * Returns undefined for unknown ids.\n */\nexport interface ModelRoute {\n /** Canonical catalog key (post-alias). */\n canonicalId: string\n /** Default provider — the SDK used when no per-model override is set. */\n provider?: CatalogProvider\n /** Model author/vendor (permanent; independent of the routing provider). */\n vendor?: string\n /** Billing pricing entry. */\n pricing: LLMPricing\n}\n\nexport function resolveModelRoute(modelId: string): ModelRoute | undefined {\n const pricing = resolvePricing(modelId)\n if (!pricing) return undefined\n return {\n canonicalId: resolveAlias(modelId),\n provider: pricing.provider,\n vendor: pricing.vendor,\n pricing,\n }\n}\n\n/**\n * Default fallback: roughly gemini-flash pricing (cheapest). Unknown\n * model ids resolve to this — the formula path then computes credit\n * cost from `inputPer1M`/`outputPer1M`, so unknown models always price\n * at default markup × cheap-model rates, never at zero.\n */\nexport const DEFAULT_PRICING: LLMPricing = {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n}\n\n// ── Calculator ──────────────────────────────────────────────────────────\n\nexport interface LLMCreditCostResult {\n /**\n * Total **centicredits** to charge — what `useAccountCredits` debits\n * directly (ledger column is cc). Reflects any per-model override or\n * per-app markup; never below `MIN_CREDITS_PER_TURN_CC`.\n *\n * Unit: cc (1 displayed credit = 100 cc). Format for display with\n * `displayCredits(cc) → cr`.\n */\n credits: number\n /**\n * What the *pure formula* would have charged (provider cost ×\n * text-markup), independent of per-model overrides. Surfaced so\n * `usage_events.calculated_credits` can record the formula-derived\n * value next to the override-applied debit — easy reconciliation\n * against Langfuse traces. Unit: cc.\n */\n calculatedCredits: number\n /** Breakdown of `credits` (each in cc). */\n inputCredits: number\n outputCredits: number\n cacheReadCredits: number\n cacheWriteCredits: number\n /** Production cost in USD (true provider cost, with cache multipliers applied). */\n productionCost: number\n /** Model pricing used */\n pricing: LLMPricing\n /** Whether fallback pricing was used */\n isFallback: boolean\n /** Markup actually applied. Same as `pricingRegistry.getMarkup(\"text\", appId)` when no override. */\n markup: number\n /** True when a per-model `overrideCredit*Per1M` field bypassed the formula. */\n hasOverride: boolean\n}\n\nexport interface LLMUsageBreakdown {\n /**\n * Input tokens that were NOT served from cache. With Anthropic prompt\n * caching, providers often report `inputTokens` already EXCLUDING\n * cached portions — pass the same number you'd pass to the legacy\n * 3-arg signature; cache fields are ADDED on top.\n */\n inputTokens: number\n outputTokens: number\n cacheReadInputTokens?: number\n cacheCreationInputTokens?: number\n}\n\nexport interface CalculateLLMCreditCostOptions {\n /**\n * App invoking the LLM. Routes per-app markup overrides registered\n * via `pricingRegistry.registerApp(appId, ...)`. When omitted, core\n * defaults apply.\n */\n appId?: string\n /**\n * Direct markup override (escape hatch for tests / one-off\n * reconciliation). When set, bypasses `pricingRegistry` for both\n * formula and `calculatedCredits` math. Takes precedence over\n * `appId`.\n */\n markupOverride?: number\n}\n\n/**\n * Env-time markup escape hatch. Honored only when no `appId` or\n * `markupOverride` is provided — i.e. the legacy global tune still\n * works while we migrate call sites onto the registry.\n *\n * Going forward, prefer `pricingRegistry.registerApp(appId, { markup:\n * { text: 2.0 } })` at boot — env-coupled markup makes tests flaky\n * and hides per-app drift.\n */\nconst ENV_MARKUP_OVERRIDE = process.env.LLM_PRICING_MARKUP\n ? Number(process.env.LLM_PRICING_MARKUP)\n : undefined\n/**\n * Minimum centicredits billed per LLM turn. 1 cc = 0.01 displayed\n * credit ≈ $0.0001. Picked over 1 displayed credit (the old floor) so\n * we don't over-charge tiny calls just because input + output each\n * round up.\n */\nconst MIN_CREDITS_PER_TURN_CC = 1\n\nexport function calculateLLMCreditCost(\n modelId: string,\n inputTokens: number,\n outputTokens: number\n): LLMCreditCostResult\nexport function calculateLLMCreditCost(\n modelId: string,\n usage: LLMUsageBreakdown,\n opts?: CalculateLLMCreditCostOptions\n): LLMCreditCostResult\nexport function calculateLLMCreditCost(\n modelId: string,\n inputOrUsage: number | LLMUsageBreakdown,\n outputTokensOrOpts?: number | CalculateLLMCreditCostOptions\n): LLMCreditCostResult {\n // Disambiguate the 2-arg vs 3-arg / opts overload.\n const usage: LLMUsageBreakdown =\n typeof inputOrUsage === \"number\"\n ? {\n inputTokens: inputOrUsage,\n outputTokens:\n typeof outputTokensOrOpts === \"number\" ? outputTokensOrOpts : 0,\n }\n : inputOrUsage\n const opts: CalculateLLMCreditCostOptions =\n typeof outputTokensOrOpts === \"object\" && outputTokensOrOpts !== null\n ? outputTokensOrOpts\n : {}\n\n const resolved = resolvePricing(modelId)\n const pricing = resolved ?? DEFAULT_PRICING\n const isFallback = !resolved\n if (isFallback) {\n // `isFallback` is returned on `LLMCreditCostResult`/`CostResult` but\n // historically had no reader anywhere downstream — a model billed at\n // DEFAULT_PRICING's cheap-model rate instead of its real (possibly much\n // higher) provider cost had no observable signal anywhere except this\n // flag nobody checked. Surfacing it here (not changing the amount\n // charged — DEFAULT_PRICING's cost-plus-margin-at-cheap-rate behavior\n // is unchanged and intentional, see DEFAULT_PRICING's own doc comment)\n // makes a real under-charge visible in logs instead of silent.\n console.warn(\n `[model-catalog] calculateLLMCreditCost: no pricing for \"${modelId}\" — ` +\n `billing at DEFAULT_PRICING (inputPer1M ${DEFAULT_PRICING.inputPer1M}, ` +\n `outputPer1M ${DEFAULT_PRICING.outputPer1M}). If this model has a real, ` +\n `higher provider cost, this under-charges until it gets a pricing row.`\n )\n }\n const cacheRead = pricing.cacheReadMultiplier ?? 1.0\n const cacheWrite = pricing.cacheWriteMultiplier ?? 1.0\n\n const cacheReadIn = Math.max(0, usage.cacheReadInputTokens ?? 0)\n const cacheCreateIn = Math.max(0, usage.cacheCreationInputTokens ?? 0)\n\n // ── 1. Provider cost (USD) — single source of truth ──\n // Cache multipliers apply to BOTH the provider cost AND the derived\n // credit cost. Margin holds across cached vs uncached tokens because\n // `creditPerToken = providerCostPerToken × markup × cacheMultiplier`.\n const inputUsd = (usage.inputTokens / 1_000_000) * pricing.inputPer1M\n const cacheReadUsd =\n (cacheReadIn / 1_000_000) * pricing.inputPer1M * cacheRead\n const cacheWriteUsd =\n (cacheCreateIn / 1_000_000) * pricing.inputPer1M * cacheWrite\n const outputUsd = (usage.outputTokens / 1_000_000) * pricing.outputPer1M\n const productionCost = inputUsd + cacheReadUsd + cacheWriteUsd + outputUsd\n\n // ── 2. Markup resolution ──\n const markup =\n opts.markupOverride ??\n ENV_MARKUP_OVERRIDE ??\n pricingRegistry.getMarkup(\"text\", opts.appId)\n\n // ── 3. Pure-formula credit math in **centicredits** (no overrides —\n // always computed for analytics / Langfuse reconciliation). Per-\n // component ceil keeps token rounding stable; at 1-cc precision the\n // rounding overhead is negligible vs the cost.\n const formulaInputCredits = Math.ceil((inputUsd * markup) / CC_USD_RATE)\n const formulaCacheReadCredits = Math.ceil(\n (cacheReadUsd * markup) / CC_USD_RATE\n )\n const formulaCacheWriteCredits = Math.ceil(\n (cacheWriteUsd * markup) / CC_USD_RATE\n )\n const formulaOutputCredits = Math.ceil((outputUsd * markup) / CC_USD_RATE)\n const formulaSubtotal =\n formulaInputCredits +\n formulaCacheReadCredits +\n formulaCacheWriteCredits +\n formulaOutputCredits\n const calculatedCredits = Math.max(formulaSubtotal, MIN_CREDITS_PER_TURN_CC)\n\n // ── 4. Charged credits — honor explicit per-model centicredit\n // override (`overrideCredit*Per1M`). Use only for strategic\n // deviations (loss-leaders / promos). The default formula path is\n // cost-plus-margin by construction.\n const inputOverrideCc = pricing.overrideCreditInputPer1M\n const outputOverrideCc = pricing.overrideCreditOutputPer1M\n const hasOverride =\n inputOverrideCc !== undefined || outputOverrideCc !== undefined\n\n const inputCredits =\n inputOverrideCc !== undefined\n ? Math.ceil((usage.inputTokens / 1_000_000) * inputOverrideCc)\n : formulaInputCredits\n const cacheReadCredits =\n inputOverrideCc !== undefined\n ? Math.ceil((cacheReadIn / 1_000_000) * inputOverrideCc * cacheRead)\n : formulaCacheReadCredits\n const cacheWriteCredits =\n inputOverrideCc !== undefined\n ? Math.ceil((cacheCreateIn / 1_000_000) * inputOverrideCc * cacheWrite)\n : formulaCacheWriteCredits\n const outputCredits =\n outputOverrideCc !== undefined\n ? Math.ceil((usage.outputTokens / 1_000_000) * outputOverrideCc)\n : formulaOutputCredits\n\n const subtotal =\n inputCredits + cacheReadCredits + cacheWriteCredits + outputCredits\n const credits = Math.max(subtotal, MIN_CREDITS_PER_TURN_CC)\n\n return {\n credits,\n calculatedCredits,\n inputCredits,\n outputCredits,\n cacheReadCredits,\n cacheWriteCredits,\n productionCost,\n pricing,\n isFallback,\n markup,\n hasOverride,\n }\n}\n\n// ─── Cache stats ─────────────────────────────────────────────────────────\n\nexport interface CacheStats {\n /**\n * Cache hit rate as a 0..1 fraction of total input tokens (raw + cache\n * read + cache create). 0 means no cache activity, 1 means everything\n * read from cache, 0 for output-only calls. `null` when there were no\n * input tokens at all.\n */\n cacheHitRate: number | null\n /**\n * Provider USD we *saved* vs the same input billed at the uncached\n * rate. Cache reads at 0.1× save 0.9× of the input cost; cache writes\n * at 1.25× actually COST 0.25× more than uncached (negative savings).\n * Sum across both. Negative means cache-write overhead exceeded\n * cache-read savings (rare — usually means the prompt prefix was\n * cached on the first turn but never re-used).\n */\n providerCostSavedUsd: number\n /**\n * Centicredits the user *saved* vs the same input billed at the\n * uncached rate. Same sign convention as `providerCostSavedUsd`.\n * Unit: cc (format with `displayCredits(cc)` for UI).\n */\n creditsSaved: number\n /**\n * True iff the model carries cache multipliers in its pricing.\n * Useful for explaining \"this model doesn't support caching\" in UI.\n */\n cacheSupported: boolean\n}\n\n/**\n * Turn a credit-cost result into cache-utilisation stats. Pure compute.\n *\n * Use cases:\n * - \"Cache saved 87% on this call\" in a UI tooltip.\n * - Per-conversation dashboards: \"across this conversation, prompt\n * caching saved you $0.42 / 12 credits.\"\n * - Regression alarms — if cacheHitRate drops below an expected\n * threshold on a known-cacheable workload, something broke in\n * prompt-prefix stability.\n *\n * Returns `cacheSupported: false` for models without cache multipliers\n * (gpt-4o-mini, gemini, mistral) — all fields are zero in that case\n * (no cache activity is possible).\n */\nexport function getCacheStats(\n modelId: string,\n usage: LLMUsageBreakdown,\n opts?: CalculateLLMCreditCostOptions\n): CacheStats {\n const result = calculateLLMCreditCost(modelId, usage, opts)\n const cacheRead = result.pricing.cacheReadMultiplier ?? 1.0\n const cacheWrite = result.pricing.cacheWriteMultiplier ?? 1.0\n const cacheSupported =\n result.pricing.cacheReadMultiplier !== undefined ||\n result.pricing.cacheWriteMultiplier !== undefined\n\n const rawInput = Math.max(0, usage.inputTokens)\n const cacheReadIn = Math.max(0, usage.cacheReadInputTokens ?? 0)\n const cacheWriteIn = Math.max(0, usage.cacheCreationInputTokens ?? 0)\n const totalInput = rawInput + cacheReadIn + cacheWriteIn\n\n const cacheHitRate =\n totalInput === 0 ? null : (cacheReadIn + cacheWriteIn) / totalInput\n\n // What the cached tokens WOULD have cost at the uncached rate.\n // Savings = uncached cost − actual cost. Cache reads save (1-cacheRead)\n // of their token-equivalent input cost; cache writes save (1-cacheWrite),\n // which is negative for cacheWrite > 1.0.\n const uncachedCacheReadUsd =\n (cacheReadIn / 1_000_000) * result.pricing.inputPer1M\n const uncachedCacheWriteUsd =\n (cacheWriteIn / 1_000_000) * result.pricing.inputPer1M\n const actualCacheReadUsd = uncachedCacheReadUsd * cacheRead\n const actualCacheWriteUsd = uncachedCacheWriteUsd * cacheWrite\n\n const providerCostSavedUsd =\n uncachedCacheReadUsd -\n actualCacheReadUsd +\n (uncachedCacheWriteUsd - actualCacheWriteUsd)\n\n // Credit-side savings mirror provider-side: cache multiplier × markup\n // = total discount applied to the user's bill. All math in cc.\n const inputRateCc =\n result.pricing.overrideCreditInputPer1M ??\n Math.ceil((result.pricing.inputPer1M * result.markup) / CC_USD_RATE)\n const uncachedCacheReadCredits = (cacheReadIn / 1_000_000) * inputRateCc\n const uncachedCacheWriteCredits = (cacheWriteIn / 1_000_000) * inputRateCc\n const creditsSaved =\n uncachedCacheReadCredits -\n result.cacheReadCredits +\n (uncachedCacheWriteCredits - result.cacheWriteCredits)\n\n return {\n cacheHitRate,\n providerCostSavedUsd,\n creditsSaved,\n cacheSupported,\n }\n}\n","// AUTO-GENERATED by @agentproto/catalog-sync (llm:opencode-go).\n// Do not edit by hand — re-run `pnpm --filter @agentproto/catalog-sync generate`.\n// Source: https://models.dev/api.json (provider \"opencode-go\" — OpenCode Go)\n// Prices come VERBATIM from the source's cost.input / cost.output, which\n// models.dev already publishes as USD per 1M tokens (no per-token\n// conversion, unlike the Requesty table). cacheReadMultiplier /\n// cacheWriteMultiplier are cost.cache_read / cost.cache_write expressed\n// relative to cost.input, and are omitted when the base input price is 0\n// (every `-free` variant) because a free model has no cache discount.\n// Zero-priced models are KEPT — on these endpoints zero is the truth, not\n// a missing price.\n// Keys are `<provider>/<bare-id>`, the form opencode's own config uses and\n// the form the runtime derives the billing endpoint from; `vendor` is a\n// heuristic attribution of the model's BUILDER and is metadata only.\n// addedAt is the ISO date this id was first seen by a sync run — backfilled\n// from the source's own `release_date`, then NEVER mutated; see\n// packages/catalog-sync/src/added-at.ts and the package README.\n\nimport type { LLMPricing } from \"./catalog.js\"\n\nexport const OPENCODE_GO_ROUTES: Record<string, LLMPricing> = {\n \"opencode-go/deepseek-v4-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-07-31\",\n vendor: \"deepseek\",\n provider: \"opencode-go\",\n },\n \"opencode-go/deepseek-v4-flash-vision-exp\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-08-21\",\n vendor: \"deepseek\",\n provider: \"opencode-go\",\n },\n \"opencode-go/deepseek-v4-pro\": {\n inputPer1M: 0.66,\n outputPer1M: 1.98,\n cacheReadMultiplier: 0.033333,\n addedAt: \"2026-04-24\",\n vendor: \"deepseek\",\n provider: \"opencode-go\",\n },\n \"opencode-go/deepseek-v4.1-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.6,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-09-10\",\n vendor: \"deepseek\",\n provider: \"opencode-go\",\n },\n \"opencode-go/glm-5\": {\n inputPer1M: 1,\n outputPer1M: 3.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-02-11\",\n vendor: \"z-ai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/glm-5.1\": {\n inputPer1M: 1.4,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-04-07\",\n vendor: \"z-ai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/glm-5.2\": {\n inputPer1M: 1.4,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-06-13\",\n vendor: \"z-ai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/glm-5.3\": {\n inputPer1M: 1.4,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-08-14\",\n vendor: \"z-ai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/glm-5.3-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-08-26\",\n vendor: \"z-ai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/gpt-5.6-luna\": {\n inputPer1M: 0.2,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/gpt-6-luna\": {\n inputPer1M: 0.1,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/grok-4.5\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.15,\n addedAt: \"2026-07-08\",\n vendor: \"x-ai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/grok-4.6\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-08-12\",\n vendor: \"x-ai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/grok-4.7\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-09-21\",\n vendor: \"x-ai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/hy3\": {\n inputPer1M: 0.14,\n outputPer1M: 0.58,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-07-06\",\n vendor: \"tencent\",\n provider: \"opencode-go\",\n },\n \"opencode-go/hy4-preview\": {\n inputPer1M: 0.834,\n outputPer1M: 2.501,\n cacheReadMultiplier: 0.05036,\n addedAt: \"2026-08-28\",\n vendor: \"tencent\",\n provider: \"opencode-go\",\n },\n \"opencode-go/kimi-k2.5\": {\n inputPer1M: 0.6,\n outputPer1M: 3,\n cacheReadMultiplier: 0.166667,\n addedAt: \"2026-01-27\",\n vendor: \"moonshotai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/kimi-k2.6\": {\n inputPer1M: 0.95,\n outputPer1M: 4,\n cacheReadMultiplier: 0.168421,\n addedAt: \"2026-04-21\",\n vendor: \"moonshotai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/kimi-k2.7-code\": {\n inputPer1M: 0.95,\n outputPer1M: 4,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-06-12\",\n vendor: \"moonshotai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/kimi-k3\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-16\",\n vendor: \"moonshotai\",\n provider: \"opencode-go\",\n },\n \"opencode-go/longcat-2.0\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-06-30\",\n vendor: \"meituan\",\n provider: \"opencode-go\",\n },\n \"opencode-go/mimo-v2-omni\": {\n inputPer1M: 0.4,\n outputPer1M: 2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-03-18\",\n vendor: \"xiaomi\",\n provider: \"opencode-go\",\n },\n \"opencode-go/mimo-v2-pro\": {\n inputPer1M: 1,\n outputPer1M: 3,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-03-18\",\n vendor: \"xiaomi\",\n provider: \"opencode-go\",\n },\n \"opencode-go/mimo-v2.5\": {\n inputPer1M: 0.14,\n outputPer1M: 0.28,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-04-22\",\n vendor: \"xiaomi\",\n provider: \"opencode-go\",\n },\n \"opencode-go/mimo-v2.5-pro\": {\n inputPer1M: 0.435,\n outputPer1M: 0.87,\n cacheReadMultiplier: 0.008333,\n addedAt: \"2026-04-22\",\n vendor: \"xiaomi\",\n provider: \"opencode-go\",\n },\n \"opencode-go/mimo-v2.6-flash\": {\n inputPer1M: 0.14,\n outputPer1M: 0.28,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-09-22\",\n vendor: \"xiaomi\",\n provider: \"opencode-go\",\n },\n \"opencode-go/mimo-v2.6-pro\": {\n inputPer1M: 0.435,\n outputPer1M: 0.87,\n cacheReadMultiplier: 0.008333,\n addedAt: \"2026-09-22\",\n vendor: \"xiaomi\",\n provider: \"opencode-go\",\n },\n \"opencode-go/minimax-m2.5\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-12\",\n vendor: \"minimax\",\n provider: \"opencode-go\",\n },\n \"opencode-go/minimax-m2.7\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-03-18\",\n vendor: \"minimax\",\n provider: \"opencode-go\",\n },\n \"opencode-go/minimax-m3\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-05-31\",\n vendor: \"minimax\",\n provider: \"opencode-go\",\n },\n \"opencode-go/muse-spark-1.2-contributor\": {\n inputPer1M: 0.1,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-08-05\",\n vendor: \"meta\",\n provider: \"opencode-go\",\n },\n \"opencode-go/muse-spark-1.3-contributor\": {\n inputPer1M: 0.1,\n outputPer1M: 0.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-09-02\",\n vendor: \"meta\",\n provider: \"opencode-go\",\n },\n \"opencode-go/omen-alpha\": {\n inputPer1M: 0.2,\n outputPer1M: 0.66,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-09-04\",\n vendor: \"opencode\",\n provider: \"opencode-go\",\n },\n \"opencode-go/ox-alpha-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-08-21\",\n vendor: \"opencode\",\n provider: \"opencode-go\",\n },\n \"opencode-go/qwen3.5-plus\": {\n inputPer1M: 0.2,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-16\",\n vendor: \"qwen\",\n provider: \"opencode-go\",\n },\n \"opencode-go/qwen3.6-plus\": {\n inputPer1M: 0.5,\n outputPer1M: 3,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-02\",\n vendor: \"qwen\",\n provider: \"opencode-go\",\n },\n \"opencode-go/qwen3.7-max\": {\n inputPer1M: 2.5,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.2,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-05-21\",\n vendor: \"qwen\",\n provider: \"opencode-go\",\n },\n \"opencode-go/qwen3.7-plus\": {\n inputPer1M: 0.4,\n outputPer1M: 1.6,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-02\",\n vendor: \"qwen\",\n provider: \"opencode-go\",\n },\n \"opencode-go/qwen3.8-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.47,\n cacheReadMultiplier: 0.106667,\n cacheWriteMultiplier: 1.333333,\n addedAt: \"2026-08-26\",\n vendor: \"qwen\",\n provider: \"opencode-go\",\n },\n \"opencode-go/qwen3.8-max\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.125,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-08-03\",\n vendor: \"qwen\",\n provider: \"opencode-go\",\n },\n \"opencode-go/space-bunny-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-09-23\",\n vendor: \"opencode\",\n provider: \"opencode-go\",\n },\n}\n\n/**\n * BARE ids on OpenCode Go whose wire surface is the Anthropic Messages\n * API — the source's `provider.npm === \"@ai-sdk/anthropic\"`. These are the\n * ONLY ids reachable through the Anthropic-compatible gateway preset of the\n * same name (claude-code / claude-sdk); the rest of the endpoint's lineup\n * speaks OpenAI chat/completions or the OpenAI Responses API and has to go\n * through the opencode adapter instead. Bare (not `<provider>/<id>`) because\n * that is what an Anthropic client puts in `ANTHROPIC_MODEL` / on the wire.\n */\nexport const OPENCODE_GO_ANTHROPIC_MODELS: readonly string[] = [\n \"minimax-m2.5\",\n \"minimax-m2.7\",\n \"minimax-m3\",\n \"qwen3.8-flash\",\n]\n","// AUTO-GENERATED by @agentproto/catalog-sync (llm:opencode-zen).\n// Do not edit by hand — re-run `pnpm --filter @agentproto/catalog-sync generate`.\n// Source: https://models.dev/api.json (provider \"opencode\" — OpenCode Zen)\n// Prices come VERBATIM from the source's cost.input / cost.output, which\n// models.dev already publishes as USD per 1M tokens (no per-token\n// conversion, unlike the Requesty table). cacheReadMultiplier /\n// cacheWriteMultiplier are cost.cache_read / cost.cache_write expressed\n// relative to cost.input, and are omitted when the base input price is 0\n// (every `-free` variant) because a free model has no cache discount.\n// Zero-priced models are KEPT — on these endpoints zero is the truth, not\n// a missing price.\n// Keys are `<provider>/<bare-id>`, the form opencode's own config uses and\n// the form the runtime derives the billing endpoint from; `vendor` is a\n// heuristic attribution of the model's BUILDER and is metadata only.\n// addedAt is the ISO date this id was first seen by a sync run — backfilled\n// from the source's own `release_date`, then NEVER mutated; see\n// packages/catalog-sync/src/added-at.ts and the package README.\n\nimport type { LLMPricing } from \"./catalog.js\"\n\nexport const OPENCODE_ZEN_ROUTES: Record<string, LLMPricing> = {\n \"opencode/big-pickle\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2025-10-17\",\n vendor: \"opencode\",\n provider: \"opencode\",\n },\n \"opencode/claude-3-5-haiku\": {\n inputPer1M: 0.8,\n outputPer1M: 4,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2024-10-22\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-fable-5\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-09\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-fable-5-1\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.025,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-01\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-haiku-4-5\": {\n inputPer1M: 1,\n outputPer1M: 5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-10-15\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-opus-4-1\": {\n inputPer1M: 15,\n outputPer1M: 75,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-08-05\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-opus-4-5\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-11-24\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-opus-4-6\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-05\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-opus-4-7\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-16\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-opus-4-8\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-05-28\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-opus-5\": {\n inputPer1M: 5,\n outputPer1M: 25,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-24\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-opus-5-5\": {\n inputPer1M: 4,\n outputPer1M: 20,\n cacheReadMultiplier: 0.05,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-sonnet-4\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-05-22\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-sonnet-4-5\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2025-09-29\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-sonnet-4-6\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-17\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/claude-sonnet-5\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-06-30\",\n vendor: \"anthropic\",\n provider: \"opencode\",\n },\n \"opencode/deepseek-v4-flash\": {\n inputPer1M: 0.14,\n outputPer1M: 0.28,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-07-31\",\n vendor: \"deepseek\",\n provider: \"opencode\",\n },\n \"opencode/deepseek-v4-flash-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-07-31\",\n vendor: \"deepseek\",\n provider: \"opencode\",\n },\n \"opencode/deepseek-v4-flash-vision-exp\": {\n inputPer1M: 0.14,\n outputPer1M: 0.28,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-08-21\",\n vendor: \"deepseek\",\n provider: \"opencode\",\n },\n \"opencode/deepseek-v4-pro\": {\n inputPer1M: 1.74,\n outputPer1M: 3.84,\n cacheReadMultiplier: 0.083333,\n addedAt: \"2026-04-24\",\n vendor: \"deepseek\",\n provider: \"opencode\",\n },\n \"opencode/deepseek-v4.1-flash\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.02,\n addedAt: \"2026-09-10\",\n vendor: \"deepseek\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3-flash\": {\n inputPer1M: 0.5,\n outputPer1M: 3,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-17\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3-pro\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-11-18\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3.1-pro\": {\n inputPer1M: 2,\n outputPer1M: 12,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-02-19\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3.5-flash\": {\n inputPer1M: 1.5,\n outputPer1M: 9,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-05-19\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3.5-flash-lite\": {\n inputPer1M: 0.3,\n outputPer1M: 2.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-21\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3.6-flash\": {\n inputPer1M: 1.5,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-21\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3.7-flash\": {\n inputPer1M: 1.5,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-08-13\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/gemini-3.8-flash\": {\n inputPer1M: 1.5,\n outputPer1M: 7.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-09-02\",\n vendor: \"google\",\n provider: \"opencode\",\n },\n \"opencode/glm-4.6\": {\n inputPer1M: 0.6,\n outputPer1M: 2.2,\n cacheReadMultiplier: 0.166667,\n addedAt: \"2025-09-30\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/glm-4.7\": {\n inputPer1M: 0.6,\n outputPer1M: 2.2,\n cacheReadMultiplier: 0.166667,\n addedAt: \"2025-12-22\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/glm-4.7-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2025-12-22\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/glm-5\": {\n inputPer1M: 1,\n outputPer1M: 3.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-02-11\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/glm-5-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-02-11\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/glm-5.1\": {\n inputPer1M: 1.4,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-04-07\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/glm-5.2\": {\n inputPer1M: 1.4,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-06-13\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/glm-5.3\": {\n inputPer1M: 1.4,\n outputPer1M: 4.4,\n cacheReadMultiplier: 0.185714,\n addedAt: \"2026-08-14\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/glm-5.3-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-08-26\",\n vendor: \"z-ai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5\": {\n inputPer1M: 1.07,\n outputPer1M: 8.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5-codex\": {\n inputPer1M: 1.07,\n outputPer1M: 8.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-09-15\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5-nano\": {\n inputPer1M: 0.05,\n outputPer1M: 0.4,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-08-07\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.1\": {\n inputPer1M: 1.07,\n outputPer1M: 8.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.1-codex\": {\n inputPer1M: 1.07,\n outputPer1M: 8.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.1-codex-max\": {\n inputPer1M: 1.25,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.1-codex-mini\": {\n inputPer1M: 0.25,\n outputPer1M: 2,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-11-13\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.2\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2025-12-11\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.2-codex\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-01-14\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.3-codex\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-02-24\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.3-codex-spark\": {\n inputPer1M: 1.75,\n outputPer1M: 14,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-02-12\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.4\": {\n inputPer1M: 2.5,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-05\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.4-mini\": {\n inputPer1M: 0.75,\n outputPer1M: 4.5,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-17\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.4-nano\": {\n inputPer1M: 0.2,\n outputPer1M: 1.25,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-03-17\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.4-pro\": {\n inputPer1M: 30,\n outputPer1M: 180,\n cacheReadMultiplier: 1,\n addedAt: \"2026-03-05\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.5\": {\n inputPer1M: 5,\n outputPer1M: 30,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-04-23\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.5-pro\": {\n inputPer1M: 30,\n outputPer1M: 180,\n cacheReadMultiplier: 1,\n addedAt: \"2026-04-24\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.6-luna\": {\n inputPer1M: 0.2,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.6-sol\": {\n inputPer1M: 4,\n outputPer1M: 20,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-5.6-terra\": {\n inputPer1M: 2.5,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-07-09\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-6-astra\": {\n inputPer1M: 10,\n outputPer1M: 50,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-04\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-6-luna\": {\n inputPer1M: 0.1,\n outputPer1M: 0.5,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/gpt-6-sol\": {\n inputPer1M: 2,\n outputPer1M: 10,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-09-22\",\n vendor: \"openai\",\n provider: \"opencode\",\n },\n \"opencode/grok-4.5\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.15,\n addedAt: \"2026-07-08\",\n vendor: \"x-ai\",\n provider: \"opencode\",\n },\n \"opencode/grok-4.6\": {\n inputPer1M: 2,\n outputPer1M: 6,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-08-12\",\n vendor: \"x-ai\",\n provider: \"opencode\",\n },\n \"opencode/grok-4.7\": {\n inputPer1M: 1.4,\n outputPer1M: 4.2,\n cacheReadMultiplier: 0.25,\n addedAt: \"2026-09-21\",\n vendor: \"x-ai\",\n provider: \"opencode\",\n },\n \"opencode/grok-build-0.1\": {\n inputPer1M: 1,\n outputPer1M: 2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-04-16\",\n vendor: \"x-ai\",\n provider: \"opencode\",\n },\n \"opencode/grok-code\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2025-08-20\",\n vendor: \"x-ai\",\n provider: \"opencode\",\n },\n \"opencode/hy3-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-07-06\",\n vendor: \"tencent\",\n provider: \"opencode\",\n },\n \"opencode/hy3-preview-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-04-20\",\n vendor: \"tencent\",\n provider: \"opencode\",\n },\n \"opencode/kimi-k2\": {\n inputPer1M: 0.4,\n outputPer1M: 2.5,\n cacheReadMultiplier: 1,\n addedAt: \"2025-09-05\",\n vendor: \"moonshotai\",\n provider: \"opencode\",\n },\n \"opencode/kimi-k2-thinking\": {\n inputPer1M: 0.4,\n outputPer1M: 2.5,\n cacheReadMultiplier: 1,\n addedAt: \"2025-09-05\",\n vendor: \"moonshotai\",\n provider: \"opencode\",\n },\n \"opencode/kimi-k2.5\": {\n inputPer1M: 0.6,\n outputPer1M: 3,\n cacheReadMultiplier: 0.133333,\n addedAt: \"2026-01-27\",\n vendor: \"moonshotai\",\n provider: \"opencode\",\n },\n \"opencode/kimi-k2.5-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-01-27\",\n vendor: \"moonshotai\",\n provider: \"opencode\",\n },\n \"opencode/kimi-k2.6\": {\n inputPer1M: 0.95,\n outputPer1M: 4,\n cacheReadMultiplier: 0.168421,\n addedAt: \"2026-04-21\",\n vendor: \"moonshotai\",\n provider: \"opencode\",\n },\n \"opencode/kimi-k2.7-code\": {\n inputPer1M: 0.95,\n outputPer1M: 4,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-06-12\",\n vendor: \"moonshotai\",\n provider: \"opencode\",\n },\n \"opencode/kimi-k3\": {\n inputPer1M: 3,\n outputPer1M: 15,\n cacheReadMultiplier: 0.1,\n addedAt: \"2026-07-16\",\n vendor: \"moonshotai\",\n provider: \"opencode\",\n },\n \"opencode/laguna-s-2.1-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-07-21\",\n vendor: \"poolside\",\n provider: \"opencode\",\n },\n \"opencode/ling-2.6-flash-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-04-21\",\n vendor: \"inclusionai\",\n provider: \"opencode\",\n },\n \"opencode/ling-3.0-flash-fin-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-08-27\",\n vendor: \"inclusionai\",\n provider: \"opencode\",\n },\n \"opencode/ling-3.0-flash-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-07-23\",\n vendor: \"inclusionai\",\n provider: \"opencode\",\n },\n \"opencode/ling-3.0-tiny-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-08-06\",\n vendor: \"inclusionai\",\n provider: \"opencode\",\n },\n \"opencode/longcat-2.0-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-06-30\",\n vendor: \"meituan\",\n provider: \"opencode\",\n },\n \"opencode/mimo-v2-flash-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2025-12-16\",\n vendor: \"xiaomi\",\n provider: \"opencode\",\n },\n \"opencode/mimo-v2-omni-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-03-18\",\n vendor: \"xiaomi\",\n provider: \"opencode\",\n },\n \"opencode/mimo-v2-pro-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-03-18\",\n vendor: \"xiaomi\",\n provider: \"opencode\",\n },\n \"opencode/mimo-v2.5-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-04-24\",\n vendor: \"xiaomi\",\n provider: \"opencode\",\n },\n \"opencode/mimo-v2.6-flash-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-09-22\",\n vendor: \"xiaomi\",\n provider: \"opencode\",\n },\n \"opencode/minimax-m2.1\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.333333,\n addedAt: \"2025-12-23\",\n vendor: \"minimax\",\n provider: \"opencode\",\n },\n \"opencode/minimax-m2.1-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2025-12-23\",\n vendor: \"minimax\",\n provider: \"opencode\",\n },\n \"opencode/minimax-m2.5\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-02-12\",\n vendor: \"minimax\",\n provider: \"opencode\",\n },\n \"opencode/minimax-m2.5-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-02-12\",\n vendor: \"minimax\",\n provider: \"opencode\",\n },\n \"opencode/minimax-m2.7\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-03-18\",\n vendor: \"minimax\",\n provider: \"opencode\",\n },\n \"opencode/minimax-m3\": {\n inputPer1M: 0.3,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.2,\n addedAt: \"2026-06-01\",\n vendor: \"minimax\",\n provider: \"opencode\",\n },\n \"opencode/minimax-m3-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-05-31\",\n vendor: \"minimax\",\n provider: \"opencode\",\n },\n \"opencode/muse-spark-1.2\": {\n inputPer1M: 1.25,\n outputPer1M: 4.25,\n cacheReadMultiplier: 0.12,\n addedAt: \"2026-08-05\",\n vendor: \"meta\",\n provider: \"opencode\",\n },\n \"opencode/muse-spark-1.2-contributor-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-08-05\",\n vendor: \"meta\",\n provider: \"opencode\",\n },\n \"opencode/muse-spark-1.3\": {\n inputPer1M: 1.25,\n outputPer1M: 4.25,\n cacheReadMultiplier: 0.12,\n addedAt: \"2026-09-02\",\n vendor: \"meta\",\n provider: \"opencode\",\n },\n \"opencode/muse-spark-1.3-contributor-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-09-02\",\n vendor: \"meta\",\n provider: \"opencode\",\n },\n \"opencode/nemotron-3-super-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-03-11\",\n vendor: \"nvidia\",\n provider: \"opencode\",\n },\n \"opencode/nemotron-3-ultra-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-06-04\",\n vendor: \"nvidia\",\n provider: \"opencode\",\n },\n \"opencode/nemotron-3.5-lightning-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-08-11\",\n vendor: \"nvidia\",\n provider: \"opencode\",\n },\n \"opencode/north-mini-code-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-06-09\",\n vendor: \"cohere\",\n provider: \"opencode\",\n },\n \"opencode/qwen3-coder\": {\n inputPer1M: 0.45,\n outputPer1M: 1.8,\n addedAt: \"2025-07-23\",\n vendor: \"qwen\",\n provider: \"opencode\",\n },\n \"opencode/qwen3.5-plus\": {\n inputPer1M: 0.2,\n outputPer1M: 1.2,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-02-16\",\n vendor: \"qwen\",\n provider: \"opencode\",\n },\n \"opencode/qwen3.6-plus\": {\n inputPer1M: 0.5,\n outputPer1M: 3,\n cacheReadMultiplier: 0.1,\n cacheWriteMultiplier: 1.25,\n addedAt: \"2026-04-02\",\n vendor: \"qwen\",\n provider: \"opencode\",\n },\n \"opencode/qwen3.6-plus-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-04-02\",\n vendor: \"qwen\",\n provider: \"opencode\",\n },\n \"opencode/qwen3.8-flash\": {\n inputPer1M: 0.15,\n outputPer1M: 0.47,\n cacheReadMultiplier: 0.106667,\n cacheWriteMultiplier: 1.333333,\n addedAt: \"2026-08-26\",\n vendor: \"qwen\",\n provider: \"opencode\",\n },\n \"opencode/ring-2.6-1t-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-05-08\",\n vendor: \"inclusionai\",\n provider: \"opencode\",\n },\n \"opencode/space-bunny-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-09-23\",\n vendor: \"opencode\",\n provider: \"opencode\",\n },\n \"opencode/trinity-large-preview-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-01-27\",\n vendor: \"arcee-ai\",\n provider: \"opencode\",\n },\n \"opencode/x-preview-f-free\": {\n inputPer1M: 0,\n outputPer1M: 0,\n addedAt: \"2026-08-21\",\n vendor: \"opencode\",\n provider: \"opencode\",\n },\n}\n\n/**\n * BARE ids on OpenCode Zen whose wire surface is the Anthropic Messages\n * API — the source's `provider.npm === \"@ai-sdk/anthropic\"`. These are the\n * ONLY ids reachable through the Anthropic-compatible gateway preset of the\n * same name (claude-code / claude-sdk); the rest of the endpoint's lineup\n * speaks OpenAI chat/completions or the OpenAI Responses API and has to go\n * through the opencode adapter instead. Bare (not `<provider>/<id>`) because\n * that is what an Anthropic client puts in `ANTHROPIC_MODEL` / on the wire.\n */\nexport const OPENCODE_ZEN_ANTHROPIC_MODELS: readonly string[] = [\n \"claude-3-5-haiku\",\n \"claude-fable-5\",\n \"claude-fable-5-1\",\n \"claude-haiku-4-5\",\n \"claude-opus-4-1\",\n \"claude-opus-4-5\",\n \"claude-opus-4-6\",\n \"claude-opus-4-7\",\n \"claude-opus-4-8\",\n \"claude-opus-5\",\n \"claude-opus-5-5\",\n \"claude-sonnet-4\",\n \"claude-sonnet-4-5\",\n \"claude-sonnet-4-6\",\n \"claude-sonnet-5\",\n \"minimax-m2.1-free\",\n \"minimax-m2.5-free\",\n \"minimax-m3-free\",\n \"qwen3.5-plus\",\n \"qwen3.6-plus\",\n \"qwen3.6-plus-free\",\n \"qwen3.8-flash\",\n]\n"]}