@funkai/models 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/.generated/entries.json +23 -0
  2. package/.generated/req.txt +1 -0
  3. package/.turbo/turbo-build.log +145 -0
  4. package/.turbo/turbo-typecheck.log +4 -0
  5. package/CHANGELOG.md +23 -0
  6. package/README.md +95 -0
  7. package/dist/alibaba-B6q4Ng1R.mjs +957 -0
  8. package/dist/alibaba-B6q4Ng1R.mjs.map +1 -0
  9. package/dist/amazon-bedrock-Cv9AHQBH.mjs +2070 -0
  10. package/dist/amazon-bedrock-Cv9AHQBH.mjs.map +1 -0
  11. package/dist/anthropic-yB7ST97_.mjs +651 -0
  12. package/dist/anthropic-yB7ST97_.mjs.map +1 -0
  13. package/dist/cerebras-COfl7XM-.mjs +95 -0
  14. package/dist/cerebras-COfl7XM-.mjs.map +1 -0
  15. package/dist/cohere-B7TgO0hT.mjs +271 -0
  16. package/dist/cohere-B7TgO0hT.mjs.map +1 -0
  17. package/dist/deepinfra-B0GxUwCG.mjs +636 -0
  18. package/dist/deepinfra-B0GxUwCG.mjs.map +1 -0
  19. package/dist/deepseek-D64ZEsvS.mjs +50 -0
  20. package/dist/deepseek-D64ZEsvS.mjs.map +1 -0
  21. package/dist/fireworks-ai-DJYvdAi_.mjs +304 -0
  22. package/dist/fireworks-ai-DJYvdAi_.mjs.map +1 -0
  23. package/dist/google-BypRl349.mjs +833 -0
  24. package/dist/google-BypRl349.mjs.map +1 -0
  25. package/dist/google-vertex-DbS-zTGD.mjs +730 -0
  26. package/dist/google-vertex-DbS-zTGD.mjs.map +1 -0
  27. package/dist/groq-ei_PerYi.mjs +381 -0
  28. package/dist/groq-ei_PerYi.mjs.map +1 -0
  29. package/dist/huggingface-DaM1EeLP.mjs +456 -0
  30. package/dist/huggingface-DaM1EeLP.mjs.map +1 -0
  31. package/dist/inception-CspEzqNV.mjs +101 -0
  32. package/dist/inception-CspEzqNV.mjs.map +1 -0
  33. package/dist/index.d.mts +30314 -0
  34. package/dist/index.d.mts.map +1 -0
  35. package/dist/index.mjs +271 -0
  36. package/dist/index.mjs.map +1 -0
  37. package/dist/llama-Cf3-koap.mjs +161 -0
  38. package/dist/llama-Cf3-koap.mjs.map +1 -0
  39. package/dist/mistral-BI9MdAO4.mjs +579 -0
  40. package/dist/mistral-BI9MdAO4.mjs.map +1 -0
  41. package/dist/nvidia-COHacuoa.mjs +1625 -0
  42. package/dist/nvidia-COHacuoa.mjs.map +1 -0
  43. package/dist/openai-C0nCfZUq.mjs +1023 -0
  44. package/dist/openai-C0nCfZUq.mjs.map +1 -0
  45. package/dist/openrouter-DSFzxKQb.mjs +4608 -0
  46. package/dist/openrouter-DSFzxKQb.mjs.map +1 -0
  47. package/dist/perplexity-zeZ2WlBU.mjs +96 -0
  48. package/dist/perplexity-zeZ2WlBU.mjs.map +1 -0
  49. package/dist/providers/alibaba.d.mts +1795 -0
  50. package/dist/providers/alibaba.d.mts.map +1 -0
  51. package/dist/providers/alibaba.mjs +39 -0
  52. package/dist/providers/alibaba.mjs.map +1 -0
  53. package/dist/providers/amazon-bedrock.d.mts +3713 -0
  54. package/dist/providers/amazon-bedrock.d.mts.map +1 -0
  55. package/dist/providers/amazon-bedrock.mjs +39 -0
  56. package/dist/providers/amazon-bedrock.mjs.map +1 -0
  57. package/dist/providers/anthropic.d.mts +1109 -0
  58. package/dist/providers/anthropic.d.mts.map +1 -0
  59. package/dist/providers/anthropic.mjs +39 -0
  60. package/dist/providers/anthropic.mjs.map +1 -0
  61. package/dist/providers/cerebras.d.mts +219 -0
  62. package/dist/providers/cerebras.d.mts.map +1 -0
  63. package/dist/providers/cerebras.mjs +39 -0
  64. package/dist/providers/cerebras.mjs.map +1 -0
  65. package/dist/providers/cohere.d.mts +555 -0
  66. package/dist/providers/cohere.d.mts.map +1 -0
  67. package/dist/providers/cohere.mjs +39 -0
  68. package/dist/providers/cohere.mjs.map +1 -0
  69. package/dist/providers/deepinfra.d.mts +1245 -0
  70. package/dist/providers/deepinfra.d.mts.map +1 -0
  71. package/dist/providers/deepinfra.mjs +39 -0
  72. package/dist/providers/deepinfra.mjs.map +1 -0
  73. package/dist/providers/deepseek.d.mts +139 -0
  74. package/dist/providers/deepseek.d.mts.map +1 -0
  75. package/dist/providers/deepseek.mjs +39 -0
  76. package/dist/providers/deepseek.mjs.map +1 -0
  77. package/dist/providers/fireworks-ai.d.mts +611 -0
  78. package/dist/providers/fireworks-ai.d.mts.map +1 -0
  79. package/dist/providers/fireworks-ai.mjs +39 -0
  80. package/dist/providers/fireworks-ai.mjs.map +1 -0
  81. package/dist/providers/google-vertex.d.mts +1227 -0
  82. package/dist/providers/google-vertex.d.mts.map +1 -0
  83. package/dist/providers/google-vertex.mjs +39 -0
  84. package/dist/providers/google-vertex.mjs.map +1 -0
  85. package/dist/providers/google.d.mts +1359 -0
  86. package/dist/providers/google.d.mts.map +1 -0
  87. package/dist/providers/google.mjs +39 -0
  88. package/dist/providers/google.mjs.map +1 -0
  89. package/dist/providers/groq.d.mts +765 -0
  90. package/dist/providers/groq.d.mts.map +1 -0
  91. package/dist/providers/groq.mjs +39 -0
  92. package/dist/providers/groq.mjs.map +1 -0
  93. package/dist/providers/huggingface.d.mts +901 -0
  94. package/dist/providers/huggingface.d.mts.map +1 -0
  95. package/dist/providers/huggingface.mjs +39 -0
  96. package/dist/providers/huggingface.mjs.map +1 -0
  97. package/dist/providers/inception.d.mts +231 -0
  98. package/dist/providers/inception.d.mts.map +1 -0
  99. package/dist/providers/inception.mjs +39 -0
  100. package/dist/providers/inception.mjs.map +1 -0
  101. package/dist/providers/llama.d.mts +345 -0
  102. package/dist/providers/llama.d.mts.map +1 -0
  103. package/dist/providers/llama.mjs +39 -0
  104. package/dist/providers/llama.mjs.map +1 -0
  105. package/dist/providers/mistral.d.mts +1143 -0
  106. package/dist/providers/mistral.d.mts.map +1 -0
  107. package/dist/providers/mistral.mjs +39 -0
  108. package/dist/providers/mistral.mjs.map +1 -0
  109. package/dist/providers/nvidia.d.mts +3117 -0
  110. package/dist/providers/nvidia.d.mts.map +1 -0
  111. package/dist/providers/nvidia.mjs +39 -0
  112. package/dist/providers/nvidia.mjs.map +1 -0
  113. package/dist/providers/openai.d.mts +1963 -0
  114. package/dist/providers/openai.d.mts.map +1 -0
  115. package/dist/providers/openai.mjs +39 -0
  116. package/dist/providers/openai.mjs.map +1 -0
  117. package/dist/providers/openrouter.d.mts +8531 -0
  118. package/dist/providers/openrouter.d.mts.map +1 -0
  119. package/dist/providers/openrouter.mjs +39 -0
  120. package/dist/providers/openrouter.mjs.map +1 -0
  121. package/dist/providers/perplexity.d.mts +221 -0
  122. package/dist/providers/perplexity.d.mts.map +1 -0
  123. package/dist/providers/perplexity.mjs +39 -0
  124. package/dist/providers/perplexity.mjs.map +1 -0
  125. package/dist/providers/togetherai.d.mts +767 -0
  126. package/dist/providers/togetherai.d.mts.map +1 -0
  127. package/dist/providers/togetherai.mjs +39 -0
  128. package/dist/providers/togetherai.mjs.map +1 -0
  129. package/dist/providers/xai.d.mts +1161 -0
  130. package/dist/providers/xai.d.mts.map +1 -0
  131. package/dist/providers/xai.mjs +39 -0
  132. package/dist/providers/xai.mjs.map +1 -0
  133. package/dist/togetherai-BvcxUfPE.mjs +382 -0
  134. package/dist/togetherai-BvcxUfPE.mjs.map +1 -0
  135. package/dist/types-DjdaZckF.d.mts +71 -0
  136. package/dist/types-DjdaZckF.d.mts.map +1 -0
  137. package/dist/xai-fSuAkQJo.mjs +587 -0
  138. package/dist/xai-fSuAkQJo.mjs.map +1 -0
  139. package/docs/catalog/filtering.md +102 -0
  140. package/docs/catalog/overview.md +168 -0
  141. package/docs/catalog/providers.md +73 -0
  142. package/docs/cost/overview.md +125 -0
  143. package/docs/guides/filter-models.md +113 -0
  144. package/docs/guides/setup-resolver.md +106 -0
  145. package/docs/guides/track-costs.md +133 -0
  146. package/docs/overview.md +139 -0
  147. package/docs/provider/configuration.md +100 -0
  148. package/docs/provider/openrouter.md +105 -0
  149. package/docs/provider/overview.md +131 -0
  150. package/docs/troubleshooting.md +100 -0
  151. package/package.json +142 -0
  152. package/providers.json +39 -0
  153. package/scripts/generate-models.ts +392 -0
  154. package/src/catalog/index.test.ts +124 -0
  155. package/src/catalog/index.ts +65 -0
  156. package/src/catalog/providers/alibaba.ts +468 -0
  157. package/src/catalog/providers/amazon-bedrock.ts +941 -0
  158. package/src/catalog/providers/anthropic.ts +270 -0
  159. package/src/catalog/providers/cerebras.ts +61 -0
  160. package/src/catalog/providers/cohere.ts +149 -0
  161. package/src/catalog/providers/deepinfra.ts +325 -0
  162. package/src/catalog/providers/deepseek.ts +39 -0
  163. package/src/catalog/providers/fireworks-ai.ts +160 -0
  164. package/src/catalog/providers/google-vertex.ts +314 -0
  165. package/src/catalog/providers/google.ts +347 -0
  166. package/src/catalog/providers/groq.ts +204 -0
  167. package/src/catalog/providers/huggingface.ts +237 -0
  168. package/src/catalog/providers/inception.ts +61 -0
  169. package/src/catalog/providers/index.ts +59 -0
  170. package/src/catalog/providers/llama.ts +94 -0
  171. package/src/catalog/providers/mistral.ts +303 -0
  172. package/src/catalog/providers/nvidia.ts +820 -0
  173. package/src/catalog/providers/openai.ts +501 -0
  174. package/src/catalog/providers/openrouter.ts +2201 -0
  175. package/src/catalog/providers/perplexity.ts +61 -0
  176. package/src/catalog/providers/togetherai.ts +204 -0
  177. package/src/catalog/providers/xai.ts +292 -0
  178. package/src/catalog/types.ts +86 -0
  179. package/src/cost/calculate.test.ts +157 -0
  180. package/src/cost/calculate.ts +43 -0
  181. package/src/cost/index.ts +2 -0
  182. package/src/cost/types.ts +25 -0
  183. package/src/index.ts +25 -0
  184. package/src/provider/index.ts +9 -0
  185. package/src/provider/openrouter.test.ts +125 -0
  186. package/src/provider/openrouter.ts +110 -0
  187. package/src/provider/resolver.test.ts +138 -0
  188. package/src/provider/resolver.ts +125 -0
  189. package/src/provider/types.ts +39 -0
  190. package/src/providers/alibaba.ts +65 -0
  191. package/src/providers/amazon-bedrock.ts +67 -0
  192. package/src/providers/anthropic.ts +65 -0
  193. package/src/providers/cerebras.ts +65 -0
  194. package/src/providers/cohere.ts +65 -0
  195. package/src/providers/deepinfra.ts +65 -0
  196. package/src/providers/deepseek.ts +65 -0
  197. package/src/providers/fireworks-ai.ts +65 -0
  198. package/src/providers/google-vertex.ts +67 -0
  199. package/src/providers/google.ts +65 -0
  200. package/src/providers/groq.ts +65 -0
  201. package/src/providers/huggingface.ts +67 -0
  202. package/src/providers/inception.ts +65 -0
  203. package/src/providers/llama.ts +65 -0
  204. package/src/providers/mistral.ts +65 -0
  205. package/src/providers/nvidia.ts +65 -0
  206. package/src/providers/openai.ts +65 -0
  207. package/src/providers/openrouter.ts +67 -0
  208. package/src/providers/perplexity.ts +67 -0
  209. package/src/providers/togetherai.ts +65 -0
  210. package/src/providers/xai.ts +65 -0
  211. package/tsconfig.json +25 -0
  212. package/tsdown.config.ts +23 -0
  213. package/vitest.config.ts +29 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openrouter-DSFzxKQb.mjs","names":[],"sources":["../src/catalog/providers/openrouter.ts"],"sourcesContent":["// ──────────────────────────────────────────────────────────────\n// ███████╗██╗ ██╗███╗ ██╗██╗ ██╗ █████╗ ██╗\n// ██╔════╝██║ ██║████╗ ██║██║ ██╔╝██╔══██╗██║\n// █████╗ ██║ ██║██╔██╗ ██║█████╔╝ ███████║██║\n// ██╔══╝ ██║ ██║██║╚██╗██║██╔═██╗ ██╔══██║██║\n// ██║ ╚██████╔╝██║ ╚████║██║ ██╗██║ ██║██║\n// ╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝\n//\n// AUTO-GENERATED — DO NOT EDIT\n// Source: https://models.dev\n// Update: pnpm --filter=@funkai/models generate:models\n// ──────────────────────────────────────────────────────────────\n\nimport type { ModelDefinition } from \"../types.js\";\n\nexport const OPENROUTER_MODELS = [\n {\n id: \"prime-intellect/intellect-3\",\n name: \"Intellect 3\",\n provider: \"openrouter\",\n family: \"glm\",\n pricing: { input: 2e-7, output: 0.0000011 },\n contextWindow: 131072,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"featherless/qwerky-72b\",\n name: \"Qwerky 72B\",\n provider: \"openrouter\",\n family: \"qwerky\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"allenai/molmo-2-8b:free\",\n name: \"Molmo2 8B (free)\",\n provider: \"openrouter\",\n family: \"allenai\",\n pricing: { input: 0, output: 0 },\n contextWindow: 36864,\n maxOutput: 36864,\n modalities: { input: [\"text\", \"image\", \"video\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"nvidia/nemotron-nano-9b-v2:free\",\n name: \"Nemotron Nano 9B V2 (free)\",\n provider: \"openrouter\",\n family: \"nemotron\",\n pricing: { input: 0, output: 0 },\n contextWindow: 128000,\n maxOutput: 128000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"nvidia/nemotron-nano-12b-v2-vl:free\",\n name: \"Nemotron Nano 12B 2 VL (free)\",\n provider: \"openrouter\",\n family: \"nemotron\",\n pricing: { input: 0, output: 0 },\n contextWindow: 128000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"nvidia/nemotron-3-nano-30b-a3b:free\",\n name: \"Nemotron 3 Nano 30B A3B (free)\",\n provider: \"openrouter\",\n family: \"nemotron\",\n pricing: { input: 0, output: 0 },\n contextWindow: 256000,\n maxOutput: 256000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"nvidia/nemotron-nano-9b-v2\",\n name: \"nvidia-nemotron-nano-9b-v2\",\n provider: \"openrouter\",\n family: \"nemotron\",\n pricing: { input: 4e-8, output: 1.6e-7 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"arcee-ai/trinity-large-preview:free\",\n name: \"Trinity Large Preview\",\n provider: \"openrouter\",\n family: \"trinity\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"arcee-ai/trinity-mini:free\",\n name: \"Trinity Mini\",\n provider: \"openrouter\",\n family: \"trinity-mini\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"xiaomi/mimo-v2-flash\",\n name: \"MiMo-V2-Flash\",\n provider: \"openrouter\",\n family: \"mimo\",\n pricing: { input: 1e-7, output: 3e-7, cacheRead: 1e-8 },\n contextWindow: 262144,\n maxOutput: 65536,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"microsoft/mai-ds-r1:free\",\n name: \"MAI DS R1 (free)\",\n provider: \"openrouter\",\n family: \"mai\",\n pricing: { input: 0, output: 0 },\n contextWindow: 163840,\n maxOutput: 163840,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"sarvamai/sarvam-m:free\",\n name: \"Sarvam-M (free)\",\n provider: \"openrouter\",\n family: \"sarvam\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"liquid/lfm-2.5-1.2b-thinking:free\",\n name: \"LFM2.5-1.2B-Thinking (free)\",\n provider: \"openrouter\",\n family: \"liquid\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"liquid/lfm-2.5-1.2b-instruct:free\",\n name: \"LFM2.5-1.2B-Instruct (free)\",\n provider: \"openrouter\",\n family: \"liquid\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"inception/mercury-2\",\n name: \"Mercury 2\",\n provider: \"openrouter\",\n family: \"mercury\",\n pricing: { input: 2.5e-7, output: 7.5e-7, cacheRead: 2.5e-8 },\n contextWindow: 128000,\n maxOutput: 50000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"inception/mercury\",\n name: \"Mercury\",\n provider: \"openrouter\",\n family: \"mercury\",\n pricing: { input: 2.5e-7, output: 7.5e-7, cacheRead: 2.5e-8 },\n contextWindow: 128000,\n maxOutput: 32000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"inception/mercury-coder\",\n name: \"Mercury Coder\",\n provider: \"openrouter\",\n family: \"mercury\",\n pricing: { input: 2.5e-7, output: 7.5e-7, cacheRead: 2.5e-8 },\n contextWindow: 128000,\n maxOutput: 32000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"thudm/glm-z1-32b:free\",\n name: \"GLM Z1 32B (free)\",\n provider: \"openrouter\",\n family: \"glm-z\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"sourceful/riverflow-v2-fast-preview\",\n name: \"Riverflow V2 Fast Preview\",\n provider: \"openrouter\",\n family: \"sourceful\",\n pricing: { input: 0, output: 0 },\n contextWindow: 8192,\n maxOutput: 8192,\n modalities: { input: [\"text\", \"image\"], output: [\"image\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"sourceful/riverflow-v2-max-preview\",\n name: \"Riverflow V2 Max Preview\",\n provider: \"openrouter\",\n family: \"sourceful\",\n pricing: { input: 0, output: 0 },\n contextWindow: 8192,\n maxOutput: 8192,\n modalities: { input: [\"text\", \"image\"], output: [\"image\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"sourceful/riverflow-v2-standard-preview\",\n name: \"Riverflow V2 Standard Preview\",\n provider: \"openrouter\",\n family: \"sourceful\",\n pricing: { input: 0, output: 0 },\n contextWindow: 8192,\n maxOutput: 8192,\n modalities: { input: [\"text\", \"image\"], output: [\"image\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"rekaai/reka-flash-3\",\n name: \"Reka Flash 3\",\n provider: \"openrouter\",\n family: \"reka\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"stepfun/step-3.5-flash:free\",\n name: \"Step 3.5 Flash (free)\",\n provider: \"openrouter\",\n family: \"step\",\n pricing: { input: 0, output: 0 },\n contextWindow: 256000,\n maxOutput: 256000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"stepfun/step-3.5-flash\",\n name: \"Step 3.5 Flash\",\n provider: \"openrouter\",\n family: \"step\",\n pricing: { input: 1e-7, output: 3e-7, cacheRead: 2e-8 },\n contextWindow: 256000,\n maxOutput: 256000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"cognitivecomputations/dolphin3.0-r1-mistral-24b\",\n name: \"Dolphin3.0 R1 Mistral 24B\",\n provider: \"openrouter\",\n family: \"mistral\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"cognitivecomputations/dolphin3.0-mistral-24b\",\n name: \"Dolphin3.0 Mistral 24B\",\n provider: \"openrouter\",\n family: \"mistral\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"cognitivecomputations/dolphin-mistral-24b-venice-edition:free\",\n name: \"Uncensored (free)\",\n provider: \"openrouter\",\n family: \"mistral\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: true },\n },\n {\n id: \"kwaipilot/kat-coder-pro:free\",\n name: \"Kat Coder Pro (free)\",\n provider: \"openrouter\",\n family: \"kat-coder\",\n pricing: { input: 0, output: 0 },\n contextWindow: 256000,\n maxOutput: 65536,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"deepseek/deepseek-v3.1-terminus:exacto\",\n name: \"DeepSeek V3.1 Terminus (exacto)\",\n provider: \"openrouter\",\n family: \"deepseek\",\n pricing: { input: 2.7e-7, output: 0.000001 },\n contextWindow: 131072,\n maxOutput: 65536,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"deepseek/deepseek-r1-0528:free\",\n name: \"R1 0528 (free)\",\n provider: \"openrouter\",\n family: \"deepseek\",\n pricing: { input: 0, output: 0 },\n contextWindow: 163840,\n maxOutput: 163840,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: false, attachment: false, structuredOutput: true },\n },\n {\n id: \"deepseek/deepseek-r1-distill-qwen-14b\",\n name: \"DeepSeek R1 Distill Qwen 14B\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 64000,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"deepseek/deepseek-r1:free\",\n name: \"R1 (free)\",\n provider: \"openrouter\",\n family: \"deepseek\",\n pricing: { input: 0, output: 0 },\n contextWindow: 163840,\n maxOutput: 163840,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"deepseek/deepseek-r1-0528-qwen3-8b:free\",\n name: \"Deepseek R1 0528 Qwen3 8B (free)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"deepseek/deepseek-v3.2-speciale\",\n name: \"DeepSeek V3.2 Speciale\",\n provider: \"openrouter\",\n family: \"deepseek\",\n pricing: { input: 2.7e-7, output: 4.1e-7 },\n contextWindow: 163840,\n maxOutput: 65536,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"deepseek/deepseek-chat-v3.1\",\n name: \"DeepSeek-V3.1\",\n provider: \"openrouter\",\n family: \"deepseek\",\n pricing: { input: 2e-7, output: 8e-7 },\n contextWindow: 163840,\n maxOutput: 163840,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"deepseek/deepseek-chat-v3-0324\",\n name: \"DeepSeek V3 0324\",\n provider: \"openrouter\",\n family: \"deepseek\",\n pricing: { input: 0, output: 0 },\n contextWindow: 16384,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: true },\n },\n {\n id: \"deepseek/deepseek-r1-distill-llama-70b\",\n name: \"DeepSeek R1 Distill Llama 70B\",\n provider: \"openrouter\",\n family: \"deepseek-thinking\",\n pricing: { input: 0, output: 0 },\n contextWindow: 8192,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: false, attachment: false, structuredOutput: true },\n },\n {\n id: \"deepseek/deepseek-v3.1-terminus\",\n name: \"DeepSeek V3.1 Terminus\",\n provider: \"openrouter\",\n family: \"deepseek\",\n pricing: { input: 2.7e-7, output: 0.000001 },\n contextWindow: 131072,\n maxOutput: 65536,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"deepseek/deepseek-v3.2\",\n name: \"DeepSeek V3.2\",\n provider: \"openrouter\",\n family: \"deepseek\",\n pricing: { input: 2.8e-7, output: 4e-7 },\n contextWindow: 163840,\n maxOutput: 65536,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"deepseek/deepseek-v3-base:free\",\n name: \"DeepSeek V3 Base (free)\",\n provider: \"openrouter\",\n family: \"deepseek\",\n pricing: { input: 0, output: 0 },\n contextWindow: 163840,\n maxOutput: 163840,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"openrouter/hunter-alpha\",\n name: \"Hunter Alpha\",\n provider: \"openrouter\",\n family: \"alpha\",\n pricing: { input: 0, output: 0 },\n contextWindow: 1048576,\n maxOutput: 64000,\n modalities: { input: [\"text\", \"image\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openrouter/sherlock-think-alpha\",\n name: \"Sherlock Think Alpha\",\n provider: \"openrouter\",\n family: \"sherlock\",\n pricing: { input: 0, output: 0 },\n contextWindow: 1840000,\n maxOutput: 0,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"openrouter/sherlock-dash-alpha\",\n name: \"Sherlock Dash Alpha\",\n provider: \"openrouter\",\n family: \"sherlock\",\n pricing: { input: 0, output: 0 },\n contextWindow: 1840000,\n maxOutput: 0,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"openrouter/free\",\n name: \"Free Models Router\",\n provider: \"openrouter\",\n family: \"\",\n pricing: { input: 0, output: 0 },\n contextWindow: 200000,\n maxOutput: 8000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openrouter/healer-alpha\",\n name: \"Healer Alpha\",\n provider: \"openrouter\",\n family: \"alpha\",\n pricing: { input: 0, output: 0 },\n contextWindow: 262144,\n maxOutput: 64000,\n modalities: { input: [\"text\", \"image\", \"audio\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openrouter/aurora-alpha\",\n name: \"Aurora Alpha\",\n provider: \"openrouter\",\n family: \"\",\n pricing: { input: 0, output: 0 },\n contextWindow: 128000,\n maxOutput: 50000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"moonshotai/kimi-dev-72b:free\",\n name: \"Kimi Dev 72b (free)\",\n provider: \"openrouter\",\n family: \"kimi\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"moonshotai/kimi-k2\",\n name: \"Kimi K2\",\n provider: \"openrouter\",\n family: \"kimi\",\n pricing: { input: 5.5e-7, output: 0.0000022 },\n contextWindow: 131072,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"moonshotai/kimi-k2-0905\",\n name: \"Kimi K2 Instruct 0905\",\n provider: \"openrouter\",\n family: \"kimi\",\n pricing: { input: 6e-7, output: 0.0000025 },\n contextWindow: 262144,\n maxOutput: 16384,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"moonshotai/kimi-k2-0905:exacto\",\n name: \"Kimi K2 Instruct 0905 (exacto)\",\n provider: \"openrouter\",\n family: \"kimi\",\n pricing: { input: 6e-7, output: 0.0000025 },\n contextWindow: 262144,\n maxOutput: 16384,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"moonshotai/kimi-k2.5\",\n name: \"Kimi K2.5\",\n provider: \"openrouter\",\n family: \"kimi\",\n pricing: { input: 6e-7, output: 0.000003, cacheRead: 1e-7 },\n contextWindow: 262144,\n maxOutput: 262144,\n modalities: { input: [\"text\", \"image\", \"video\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"moonshotai/kimi-k2-thinking\",\n name: \"Kimi K2 Thinking\",\n provider: \"openrouter\",\n family: \"kimi-thinking\",\n pricing: { input: 6e-7, output: 0.0000025, cacheRead: 1.5e-7 },\n contextWindow: 262144,\n maxOutput: 262144,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"moonshotai/kimi-k2:free\",\n name: \"Kimi K2 (free)\",\n provider: \"openrouter\",\n family: \"kimi\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32800,\n maxOutput: 32800,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"google/gemini-2.5-flash-lite-preview-09-2025\",\n name: \"Gemini 2.5 Flash Lite Preview 09-25\",\n provider: \"openrouter\",\n family: \"gemini-flash-lite\",\n pricing: { input: 1e-7, output: 4e-7, cacheRead: 2.5e-8 },\n contextWindow: 1048576,\n maxOutput: 65536,\n modalities: { input: [\"text\", \"image\", \"audio\", \"video\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemini-3.1-pro-preview-customtools\",\n name: \"Gemini 3.1 Pro Preview Custom Tools\",\n provider: \"openrouter\",\n family: \"gemini-pro\",\n pricing: { input: 0.000002, output: 0.000012, reasoning: 0.000012 },\n contextWindow: 1048576,\n maxOutput: 65536,\n modalities: { input: [\"text\", \"image\", \"audio\", \"video\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemini-2.5-pro-preview-06-05\",\n name: \"Gemini 2.5 Pro Preview 06-05\",\n provider: \"openrouter\",\n family: \"gemini-pro\",\n pricing: { input: 0.00000125, output: 0.00001, cacheRead: 3.1e-7 },\n contextWindow: 1048576,\n maxOutput: 65536,\n modalities: { input: [\"text\", \"image\", \"audio\", \"video\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemma-3n-e4b-it:free\",\n name: \"Gemma 3n 4B (free)\",\n provider: \"openrouter\",\n family: \"gemma\",\n pricing: { input: 0, output: 0 },\n contextWindow: 8192,\n maxOutput: 2000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: true, structuredOutput: false },\n },\n {\n id: \"google/gemini-2.5-flash-preview-09-2025\",\n name: \"Gemini 2.5 Flash Preview 09-25\",\n provider: \"openrouter\",\n family: \"gemini-flash\",\n pricing: { input: 3e-7, output: 0.0000025, cacheRead: 3.1e-8 },\n contextWindow: 1048576,\n maxOutput: 65536,\n modalities: { input: [\"text\", \"image\", \"audio\", \"video\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemini-2.5-pro-preview-05-06\",\n name: \"Gemini 2.5 Pro Preview 05-06\",\n provider: \"openrouter\",\n family: \"gemini-pro\",\n pricing: { input: 0.00000125, output: 0.00001, cacheRead: 3.1e-7 },\n contextWindow: 1048576,\n maxOutput: 65536,\n modalities: { input: [\"text\", \"image\", \"audio\", \"video\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemma-3n-e2b-it:free\",\n name: \"Gemma 3n 2B (free)\",\n provider: \"openrouter\",\n family: \"gemma\",\n pricing: { input: 0, output: 0 },\n contextWindow: 8192,\n maxOutput: 2000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: true, structuredOutput: false },\n },\n {\n id: \"google/gemini-2.5-flash\",\n name: \"Gemini 2.5 Flash\",\n provider: \"openrouter\",\n family: \"gemini-flash\",\n pricing: { input: 3e-7, output: 0.0000025, cacheRead: 3.75e-8 },\n contextWindow: 1048576,\n maxOutput: 65536,\n modalities: { input: [\"text\", \"image\", \"audio\", \"video\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemini-2.0-flash-001\",\n name: \"Gemini 2.0 Flash\",\n provider: \"openrouter\",\n family: \"gemini-flash\",\n pricing: { input: 1e-7, output: 4e-7, cacheRead: 2.5e-8 },\n contextWindow: 1048576,\n maxOutput: 8192,\n modalities: { input: [\"text\", \"image\", \"audio\", \"video\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemini-3.1-flash-lite-preview\",\n name: \"Gemini 3.1 Flash Lite Preview\",\n provider: \"openrouter\",\n family: \"gemini-flash-lite\",\n pricing: {\n input: 2.5e-7,\n output: 0.0000015,\n cacheRead: 2.5e-8,\n cacheWrite: 8.3e-8,\n reasoning: 0.0000015,\n },\n contextWindow: 1048576,\n maxOutput: 65536,\n modalities: { input: [\"text\", \"image\", \"video\", \"pdf\", \"audio\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemini-3-flash-preview\",\n name: \"Gemini 3 Flash Preview\",\n provider: \"openrouter\",\n family: \"gemini-flash\",\n pricing: { input: 5e-7, output: 0.000003, cacheRead: 5e-8 },\n contextWindow: 1048576,\n maxOutput: 65536,\n modalities: { input: [\"text\", \"image\", \"audio\", \"video\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemma-3-12b-it:free\",\n name: \"Gemma 3 12B (free)\",\n provider: \"openrouter\",\n family: \"gemma\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 8192,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: true, structuredOutput: false },\n },\n {\n id: \"google/gemini-2.5-flash-lite\",\n name: \"Gemini 2.5 Flash Lite\",\n provider: \"openrouter\",\n family: \"gemini-flash-lite\",\n pricing: { input: 1e-7, output: 4e-7, cacheRead: 2.5e-8 },\n contextWindow: 1048576,\n maxOutput: 65536,\n modalities: { input: [\"text\", \"image\", \"audio\", \"video\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemini-3.1-pro-preview\",\n name: \"Gemini 3.1 Pro Preview\",\n provider: \"openrouter\",\n family: \"gemini-pro\",\n pricing: { input: 0.000002, output: 0.000012, reasoning: 0.000012 },\n contextWindow: 1048576,\n maxOutput: 65536,\n modalities: { input: [\"text\", \"image\", \"audio\", \"video\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemini-2.0-flash-exp:free\",\n name: \"Gemini 2.0 Flash Experimental (free)\",\n provider: \"openrouter\",\n family: \"gemini-flash\",\n pricing: { input: 0, output: 0 },\n contextWindow: 1048576,\n maxOutput: 1048576,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"google/gemma-2-9b-it\",\n name: \"Gemma 2 9B\",\n provider: \"openrouter\",\n family: \"gemma\",\n pricing: { input: 3e-8, output: 9e-8 },\n contextWindow: 8192,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"google/gemma-3-4b-it:free\",\n name: \"Gemma 3 4B (free)\",\n provider: \"openrouter\",\n family: \"gemma\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 8192,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: true, structuredOutput: false },\n },\n {\n id: \"google/gemma-3n-e4b-it\",\n name: \"Gemma 3n 4B\",\n provider: \"openrouter\",\n family: \"gemma\",\n pricing: { input: 2e-8, output: 4e-8 },\n contextWindow: 32768,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: true, structuredOutput: false },\n },\n {\n id: \"google/gemini-3-pro-preview\",\n name: \"Gemini 3 Pro Preview\",\n provider: \"openrouter\",\n family: \"gemini-pro\",\n pricing: { input: 0.000002, output: 0.000012 },\n contextWindow: 1050000,\n maxOutput: 66000,\n modalities: { input: [\"text\", \"image\", \"audio\", \"video\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemma-3-12b-it\",\n name: \"Gemma 3 12B\",\n provider: \"openrouter\",\n family: \"gemma\",\n pricing: { input: 3e-8, output: 1e-7 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemma-3-4b-it\",\n name: \"Gemma 3 4B\",\n provider: \"openrouter\",\n family: \"gemma\",\n pricing: { input: 1.703e-8, output: 6.815e-8 },\n contextWindow: 96000,\n maxOutput: 96000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: true, structuredOutput: false },\n },\n {\n id: \"google/gemma-3-27b-it\",\n name: \"Gemma 3 27B\",\n provider: \"openrouter\",\n family: \"gemma\",\n pricing: { input: 4e-8, output: 1.5e-7 },\n contextWindow: 96000,\n maxOutput: 96000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemini-2.5-pro\",\n name: \"Gemini 2.5 Pro\",\n provider: \"openrouter\",\n family: \"gemini-pro\",\n pricing: { input: 0.00000125, output: 0.00001, cacheRead: 3.1e-7 },\n contextWindow: 1048576,\n maxOutput: 65536,\n modalities: { input: [\"text\", \"image\", \"audio\", \"video\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"google/gemma-3-27b-it:free\",\n name: \"Gemma 3 27B (free)\",\n provider: \"openrouter\",\n family: \"gemma\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 8192,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"z-ai/glm-5\",\n name: \"GLM-5\",\n provider: \"openrouter\",\n family: \"glm\",\n pricing: { input: 0.000001, output: 0.0000032, cacheRead: 2e-7 },\n contextWindow: 202752,\n maxOutput: 131000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"z-ai/glm-4.5-air\",\n name: \"GLM 4.5 Air\",\n provider: \"openrouter\",\n family: \"glm-air\",\n pricing: { input: 2e-7, output: 0.0000011 },\n contextWindow: 128000,\n maxOutput: 96000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"z-ai/glm-4.5\",\n name: \"GLM 4.5\",\n provider: \"openrouter\",\n family: \"glm\",\n pricing: { input: 6e-7, output: 0.0000022 },\n contextWindow: 128000,\n maxOutput: 96000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"z-ai/glm-4.6:exacto\",\n name: \"GLM 4.6 (exacto)\",\n provider: \"openrouter\",\n family: \"glm\",\n pricing: { input: 6e-7, output: 0.0000019, cacheRead: 1.1e-7 },\n contextWindow: 200000,\n maxOutput: 128000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"z-ai/glm-4.7-flash\",\n name: \"GLM-4.7-Flash\",\n provider: \"openrouter\",\n family: \"glm\",\n pricing: { input: 7e-8, output: 4e-7 },\n contextWindow: 200000,\n maxOutput: 65535,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"z-ai/glm-4.5-air:free\",\n name: \"GLM 4.5 Air (free)\",\n provider: \"openrouter\",\n family: \"glm-air\",\n pricing: { input: 0, output: 0 },\n contextWindow: 128000,\n maxOutput: 96000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"z-ai/glm-4.6\",\n name: \"GLM 4.6\",\n provider: \"openrouter\",\n family: \"glm\",\n pricing: { input: 6e-7, output: 0.0000022, cacheRead: 1.1e-7 },\n contextWindow: 200000,\n maxOutput: 128000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"z-ai/glm-4.7\",\n name: \"GLM-4.7\",\n provider: \"openrouter\",\n family: \"glm\",\n pricing: { input: 6e-7, output: 0.0000022, cacheRead: 1.1e-7 },\n contextWindow: 204800,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"z-ai/glm-4.5v\",\n name: \"GLM 4.5V\",\n provider: \"openrouter\",\n family: \"glm\",\n pricing: { input: 6e-7, output: 0.0000018 },\n contextWindow: 64000,\n maxOutput: 16384,\n modalities: { input: [\"text\", \"image\", \"video\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-next-80b-a3b-thinking\",\n name: \"Qwen3 Next 80B A3B Thinking\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 1.4e-7, output: 0.0000014 },\n contextWindow: 262144,\n maxOutput: 262144,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen-2.5-vl-7b-instruct:free\",\n name: \"Qwen2.5-VL 7B Instruct (free)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 32768,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"qwen/qwen3-32b:free\",\n name: \"Qwen3 32B (free)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 40960,\n maxOutput: 40960,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-coder:free\",\n name: \"Qwen3 Coder 480B A35B Instruct (free)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 262144,\n maxOutput: 66536,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"qwen/qwen3-coder-flash\",\n name: \"Qwen3 Coder Flash\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 3e-7, output: 0.0000015 },\n contextWindow: 128000,\n maxOutput: 66536,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"qwen/qwen3-30b-a3b:free\",\n name: \"Qwen3 30B A3B (free)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 40960,\n maxOutput: 40960,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-235b-a22b-07-25:free\",\n name: \"Qwen3 235B A22B Instruct 2507 (free)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 262144,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"qwen/qwen3-14b:free\",\n name: \"Qwen3 14B (free)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 40960,\n maxOutput: 40960,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-coder\",\n name: \"Qwen3 Coder\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 3e-7, output: 0.0000012 },\n contextWindow: 262144,\n maxOutput: 66536,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwq-32b:free\",\n name: \"QwQ 32B (free)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3.5-397b-a17b\",\n name: \"Qwen3.5 397B A17B\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 6e-7, output: 0.0000036 },\n contextWindow: 262144,\n maxOutput: 65536,\n modalities: { input: [\"text\", \"image\", \"video\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-coder:exacto\",\n name: \"Qwen3 Coder (exacto)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 3.8e-7, output: 0.00000153 },\n contextWindow: 131072,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen-2.5-coder-32b-instruct\",\n name: \"Qwen2.5 Coder 32B Instruct\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3.5-plus-02-15\",\n name: \"Qwen3.5 Plus 2026-02-15\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 4e-7, output: 0.0000024 },\n contextWindow: 1000000,\n maxOutput: 65536,\n modalities: { input: [\"text\", \"image\", \"video\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-30b-a3b-instruct-2507\",\n name: \"Qwen3 30B A3B Instruct 2507\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 2e-7, output: 8e-7 },\n contextWindow: 262000,\n maxOutput: 262000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen2.5-vl-72b-instruct\",\n name: \"Qwen2.5 VL 72B Instruct\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 8192,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: true, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-coder-30b-a3b-instruct\",\n name: \"Qwen3 Coder 30B A3B Instruct\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 7e-8, output: 2.7e-7 },\n contextWindow: 160000,\n maxOutput: 65536,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-235b-a22b-07-25\",\n name: \"Qwen3 235B A22B Instruct 2507\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 1.5e-7, output: 8.5e-7 },\n contextWindow: 262144,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-235b-a22b:free\",\n name: \"Qwen3 235B A22B (free)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-next-80b-a3b-instruct:free\",\n name: \"Qwen3 Next 80B A3B Instruct (free)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 262144,\n maxOutput: 262144,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-4b:free\",\n name: \"Qwen3 4B (free)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 40960,\n maxOutput: 40960,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-8b:free\",\n name: \"Qwen3 8B (free)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 40960,\n maxOutput: 40960,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-30b-a3b-thinking-2507\",\n name: \"Qwen3 30B A3B Thinking 2507\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 2e-7, output: 8e-7 },\n contextWindow: 262000,\n maxOutput: 262000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen2.5-vl-32b-instruct:free\",\n name: \"Qwen2.5 VL 32B Instruct (free)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 8192,\n maxOutput: 8192,\n modalities: { input: [\"text\", \"image\", \"video\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-235b-a22b-thinking-2507\",\n name: \"Qwen3 235B A22B Thinking 2507\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 7.8e-8, output: 3.12e-7 },\n contextWindow: 262144,\n maxOutput: 81920,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen3-next-80b-a3b-instruct\",\n name: \"Qwen3 Next 80B A3B Instruct\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 1.4e-7, output: 0.0000014 },\n contextWindow: 262144,\n maxOutput: 262144,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"qwen/qwen2.5-vl-72b-instruct:free\",\n name: \"Qwen2.5 VL 72B Instruct (free)\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 32768,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"qwen/qwen3-max\",\n name: \"Qwen3 Max\",\n provider: \"openrouter\",\n family: \"qwen\",\n pricing: { input: 0.0000012, output: 0.000006 },\n contextWindow: 262144,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"x-ai/grok-3\",\n name: \"Grok 3\",\n provider: \"openrouter\",\n family: \"grok\",\n pricing: { input: 0.000003, output: 0.000015, cacheRead: 7.5e-7, cacheWrite: 0.000015 },\n contextWindow: 131072,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"x-ai/grok-code-fast-1\",\n name: \"Grok Code Fast 1\",\n provider: \"openrouter\",\n family: \"grok\",\n pricing: { input: 2e-7, output: 0.0000015, cacheRead: 2e-8 },\n contextWindow: 256000,\n maxOutput: 10000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"x-ai/grok-4-fast\",\n name: \"Grok 4 Fast\",\n provider: \"openrouter\",\n family: \"grok\",\n pricing: { input: 2e-7, output: 5e-7, cacheRead: 5e-8, cacheWrite: 5e-8 },\n contextWindow: 2000000,\n maxOutput: 30000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"x-ai/grok-4\",\n name: \"Grok 4\",\n provider: \"openrouter\",\n family: \"grok\",\n pricing: { input: 0.000003, output: 0.000015, cacheRead: 7.5e-7, cacheWrite: 0.000015 },\n contextWindow: 256000,\n maxOutput: 64000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"x-ai/grok-4.1-fast\",\n name: \"Grok 4.1 Fast\",\n provider: \"openrouter\",\n family: \"grok\",\n pricing: { input: 2e-7, output: 5e-7, cacheRead: 5e-8, cacheWrite: 5e-8 },\n contextWindow: 2000000,\n maxOutput: 30000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"x-ai/grok-3-mini-beta\",\n name: \"Grok 3 Mini Beta\",\n provider: \"openrouter\",\n family: \"grok\",\n pricing: { input: 3e-7, output: 5e-7, cacheRead: 7.5e-8, cacheWrite: 5e-7 },\n contextWindow: 131072,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"x-ai/grok-3-mini\",\n name: \"Grok 3 Mini\",\n provider: \"openrouter\",\n family: \"grok\",\n pricing: { input: 3e-7, output: 5e-7, cacheRead: 7.5e-8, cacheWrite: 5e-7 },\n contextWindow: 131072,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"x-ai/grok-4.20-multi-agent-beta\",\n name: \"Grok 4.20 Multi - Agent Beta\",\n provider: \"openrouter\",\n family: \"grok\",\n pricing: { input: 0.000002, output: 0.000006, cacheRead: 2e-7 },\n contextWindow: 2000000,\n maxOutput: 30000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: false, attachment: true, structuredOutput: false },\n },\n {\n id: \"x-ai/grok-4.20-beta\",\n name: \"Grok 4.20 Beta\",\n provider: \"openrouter\",\n family: \"grok\",\n pricing: { input: 0.000002, output: 0.000006, cacheRead: 2e-7 },\n contextWindow: 2000000,\n maxOutput: 30000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"x-ai/grok-3-beta\",\n name: \"Grok 3 Beta\",\n provider: \"openrouter\",\n family: \"grok\",\n pricing: { input: 0.000003, output: 0.000015, cacheRead: 7.5e-7, cacheWrite: 0.000015 },\n contextWindow: 131072,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"meta-llama/llama-3.3-70b-instruct:free\",\n name: \"Llama 3.3 70B Instruct (free)\",\n provider: \"openrouter\",\n family: \"llama\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"meta-llama/llama-4-scout:free\",\n name: \"Llama 4 Scout (free)\",\n provider: \"openrouter\",\n family: \"llama\",\n pricing: { input: 0, output: 0 },\n contextWindow: 64000,\n maxOutput: 64000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"meta-llama/llama-3.2-11b-vision-instruct\",\n name: \"Llama 3.2 11B Vision Instruct\",\n provider: \"openrouter\",\n family: \"llama\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 8192,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: true, structuredOutput: false },\n },\n {\n id: \"meta-llama/llama-3.2-3b-instruct:free\",\n name: \"Llama 3.2 3B Instruct (free)\",\n provider: \"openrouter\",\n family: \"llama\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: true, structuredOutput: false },\n },\n {\n id: \"meta-llama/llama-3.1-405b-instruct:free\",\n name: \"Llama 3.1 405B Instruct (free)\",\n provider: \"openrouter\",\n family: \"llama\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: true, structuredOutput: true },\n },\n {\n id: \"tngtech/tng-r1t-chimera:free\",\n name: \"R1T Chimera (free)\",\n provider: \"openrouter\",\n family: \"tngtech\",\n pricing: { input: 0, output: 0 },\n contextWindow: 163840,\n maxOutput: 163840,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"tngtech/deepseek-r1t2-chimera:free\",\n name: \"DeepSeek R1T2 Chimera (free)\",\n provider: \"openrouter\",\n family: \"deepseek-thinking\",\n pricing: { input: 0, output: 0 },\n contextWindow: 163840,\n maxOutput: 163840,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: false, attachment: false, structuredOutput: true },\n },\n {\n id: \"mistralai/devstral-medium-2507\",\n name: \"Devstral Medium\",\n provider: \"openrouter\",\n family: \"devstral\",\n pricing: { input: 4e-7, output: 0.000002 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"mistralai/devstral-small-2505:free\",\n name: \"Devstral Small 2505 (free)\",\n provider: \"openrouter\",\n family: \"devstral\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"mistralai/mistral-medium-3\",\n name: \"Mistral Medium 3\",\n provider: \"openrouter\",\n family: \"mistral-medium\",\n pricing: { input: 4e-7, output: 0.000002 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"mistralai/codestral-2508\",\n name: \"Codestral 2508\",\n provider: \"openrouter\",\n family: \"codestral\",\n pricing: { input: 3e-7, output: 9e-7 },\n contextWindow: 256000,\n maxOutput: 256000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"mistralai/devstral-2512:free\",\n name: \"Devstral 2 2512 (free)\",\n provider: \"openrouter\",\n family: \"devstral\",\n pricing: { input: 0, output: 0 },\n contextWindow: 262144,\n maxOutput: 262144,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"mistralai/mistral-small-3.1-24b-instruct\",\n name: \"Mistral Small 3.1 24B Instruct\",\n provider: \"openrouter\",\n family: \"mistral-small\",\n pricing: { input: 0, output: 0 },\n contextWindow: 128000,\n maxOutput: 8192,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"mistralai/devstral-small-2505\",\n name: \"Devstral Small\",\n provider: \"openrouter\",\n family: \"devstral\",\n pricing: { input: 6e-8, output: 1.2e-7 },\n contextWindow: 128000,\n maxOutput: 128000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"mistralai/mistral-7b-instruct:free\",\n name: \"Mistral 7B Instruct (free)\",\n provider: \"openrouter\",\n family: \"mistral\",\n pricing: { input: 0, output: 0 },\n contextWindow: 32768,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"mistralai/devstral-2512\",\n name: \"Devstral 2 2512\",\n provider: \"openrouter\",\n family: \"devstral\",\n pricing: { input: 1.5e-7, output: 6e-7 },\n contextWindow: 262144,\n maxOutput: 262144,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"mistralai/mistral-small-3.2-24b-instruct\",\n name: \"Mistral Small 3.2 24B Instruct\",\n provider: \"openrouter\",\n family: \"mistral-small\",\n pricing: { input: 0, output: 0 },\n contextWindow: 96000,\n maxOutput: 8192,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"mistralai/mistral-small-3.2-24b-instruct:free\",\n name: \"Mistral Small 3.2 24B (free)\",\n provider: \"openrouter\",\n family: \"mistral-small\",\n pricing: { input: 0, output: 0 },\n contextWindow: 96000,\n maxOutput: 96000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"mistralai/devstral-small-2507\",\n name: \"Devstral Small 1.1\",\n provider: \"openrouter\",\n family: \"devstral\",\n pricing: { input: 1e-7, output: 3e-7 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"mistralai/mistral-nemo:free\",\n name: \"Mistral Nemo (free)\",\n provider: \"openrouter\",\n family: \"mistral-nemo\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"mistralai/mistral-medium-3.1\",\n name: \"Mistral Medium 3.1\",\n provider: \"openrouter\",\n family: \"mistral-medium\",\n pricing: { input: 4e-7, output: 0.000002 },\n contextWindow: 262144,\n maxOutput: 262144,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5.3-codex\",\n name: \"GPT-5.3-Codex\",\n provider: \"openrouter\",\n family: \"gpt-codex\",\n pricing: { input: 0.00000175, output: 0.000014, cacheRead: 1.75e-7 },\n contextWindow: 400000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5-codex\",\n name: \"GPT-5 Codex\",\n provider: \"openrouter\",\n family: \"gpt-codex\",\n pricing: { input: 0.00000125, output: 0.00001, cacheRead: 1.25e-7 },\n contextWindow: 400000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5-pro\",\n name: \"GPT-5 Pro\",\n provider: \"openrouter\",\n family: \"gpt-pro\",\n pricing: { input: 0.000015, output: 0.00012 },\n contextWindow: 400000,\n maxOutput: 272000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-4o-mini\",\n name: \"GPT-4o-mini\",\n provider: \"openrouter\",\n family: \"gpt-mini\",\n pricing: { input: 1.5e-7, output: 6e-7, cacheRead: 8e-8 },\n contextWindow: 128000,\n maxOutput: 16384,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5.1-codex-max\",\n name: \"GPT-5.1-Codex-Max\",\n provider: \"openrouter\",\n family: \"gpt-codex\",\n pricing: { input: 0.0000011, output: 0.000009, cacheRead: 1.1e-7 },\n contextWindow: 400000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5.2-codex\",\n name: \"GPT-5.2-Codex\",\n provider: \"openrouter\",\n family: \"gpt-codex\",\n pricing: { input: 0.00000175, output: 0.000014, cacheRead: 1.75e-7 },\n contextWindow: 400000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-oss-120b:exacto\",\n name: \"GPT OSS 120B (exacto)\",\n provider: \"openrouter\",\n family: \"gpt-oss\",\n pricing: { input: 5e-8, output: 2.4e-7 },\n contextWindow: 131072,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5.1\",\n name: \"GPT-5.1\",\n provider: \"openrouter\",\n family: \"gpt\",\n pricing: { input: 0.00000125, output: 0.00001, cacheRead: 1.25e-7 },\n contextWindow: 400000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5.2-chat\",\n name: \"GPT-5.2 Chat\",\n provider: \"openrouter\",\n family: \"gpt-codex\",\n pricing: { input: 0.00000175, output: 0.000014, cacheRead: 1.75e-7 },\n contextWindow: 128000,\n maxOutput: 16384,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5-chat\",\n name: \"GPT-5 Chat (latest)\",\n provider: \"openrouter\",\n family: \"gpt-codex\",\n pricing: { input: 0.00000125, output: 0.00001 },\n contextWindow: 400000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: false, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5.1-chat\",\n name: \"GPT-5.1 Chat\",\n provider: \"openrouter\",\n family: \"gpt-codex\",\n pricing: { input: 0.00000125, output: 0.00001, cacheRead: 1.25e-7 },\n contextWindow: 128000,\n maxOutput: 16384,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5-image\",\n name: \"GPT-5 Image\",\n provider: \"openrouter\",\n family: \"gpt\",\n pricing: { input: 0.000005, output: 0.00001, cacheRead: 0.00000125 },\n contextWindow: 400000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\", \"pdf\"], output: [\"text\", \"image\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-oss-120b\",\n name: \"GPT OSS 120B\",\n provider: \"openrouter\",\n family: \"gpt-oss\",\n pricing: { input: 7.2e-8, output: 2.8e-7 },\n contextWindow: 131072,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5.1-codex-mini\",\n name: \"GPT-5.1-Codex-Mini\",\n provider: \"openrouter\",\n family: \"gpt-codex\",\n pricing: { input: 2.5e-7, output: 0.000002, cacheRead: 2.5e-8 },\n contextWindow: 400000,\n maxOutput: 100000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5.2\",\n name: \"GPT-5.2\",\n provider: \"openrouter\",\n family: \"gpt\",\n pricing: { input: 0.00000175, output: 0.000014, cacheRead: 1.75e-7 },\n contextWindow: 400000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-oss-20b:free\",\n name: \"gpt-oss-20b (free)\",\n provider: \"openrouter\",\n family: \"gpt-oss\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"openai/gpt-4.1\",\n name: \"GPT-4.1\",\n provider: \"openrouter\",\n family: \"gpt\",\n pricing: { input: 0.000002, output: 0.000008, cacheRead: 5e-7 },\n contextWindow: 1047576,\n maxOutput: 32768,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5\",\n name: \"GPT-5\",\n provider: \"openrouter\",\n family: \"gpt\",\n pricing: { input: 0.00000125, output: 0.00001 },\n contextWindow: 400000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/o4-mini\",\n name: \"o4 Mini\",\n provider: \"openrouter\",\n family: \"o-mini\",\n pricing: { input: 0.0000011, output: 0.0000044, cacheRead: 2.8e-7 },\n contextWindow: 200000,\n maxOutput: 100000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-4.1-mini\",\n name: \"GPT-4.1 Mini\",\n provider: \"openrouter\",\n family: \"gpt-mini\",\n pricing: { input: 4e-7, output: 0.0000016, cacheRead: 1e-7 },\n contextWindow: 1047576,\n maxOutput: 32768,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5.4\",\n name: \"GPT-5.4\",\n provider: \"openrouter\",\n family: \"gpt\",\n pricing: { input: 0.0000025, output: 0.000015, cacheRead: 2.5e-7 },\n contextWindow: 1050000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5.4-pro\",\n name: \"GPT-5.4 Pro\",\n provider: \"openrouter\",\n family: \"gpt-pro\",\n pricing: { input: 0.00003, output: 0.00018, cacheRead: 0.00003 },\n contextWindow: 1050000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"openai/gpt-oss-safeguard-20b\",\n name: \"GPT OSS Safeguard 20B\",\n provider: \"openrouter\",\n family: \"gpt-oss\",\n pricing: { input: 7.5e-8, output: 3e-7 },\n contextWindow: 131072,\n maxOutput: 65536,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"openai/gpt-5.1-codex\",\n name: \"GPT-5.1-Codex\",\n provider: \"openrouter\",\n family: \"gpt-codex\",\n pricing: { input: 0.00000125, output: 0.00001, cacheRead: 1.25e-7 },\n contextWindow: 400000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5.2-pro\",\n name: \"GPT-5.2 Pro\",\n provider: \"openrouter\",\n family: \"gpt-pro\",\n pricing: { input: 0.000021, output: 0.000168 },\n contextWindow: 400000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-5-mini\",\n name: \"GPT-5 Mini\",\n provider: \"openrouter\",\n family: \"gpt-mini\",\n pricing: { input: 2.5e-7, output: 0.000002 },\n contextWindow: 400000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"openai/gpt-oss-20b\",\n name: \"GPT OSS 20B\",\n provider: \"openrouter\",\n family: \"gpt-oss\",\n pricing: { input: 5e-8, output: 2e-7 },\n contextWindow: 131072,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"openai/gpt-oss-120b:free\",\n name: \"gpt-oss-120b (free)\",\n provider: \"openrouter\",\n family: \"gpt-oss\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"openai/gpt-5-nano\",\n name: \"GPT-5 Nano\",\n provider: \"openrouter\",\n family: \"gpt-nano\",\n pricing: { input: 5e-8, output: 4e-7 },\n contextWindow: 400000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"minimax/minimax-m1\",\n name: \"MiniMax M1\",\n provider: \"openrouter\",\n family: \"minimax\",\n pricing: { input: 4e-7, output: 0.0000022 },\n contextWindow: 1000000,\n maxOutput: 40000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"minimax/minimax-01\",\n name: \"MiniMax-01\",\n provider: \"openrouter\",\n family: \"minimax\",\n pricing: { input: 2e-7, output: 0.0000011 },\n contextWindow: 1000000,\n maxOutput: 1000000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"minimax/minimax-m2.1\",\n name: \"MiniMax M2.1\",\n provider: \"openrouter\",\n family: \"minimax\",\n pricing: { input: 3e-7, output: 0.0000012 },\n contextWindow: 204800,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"minimax/minimax-m2\",\n name: \"MiniMax M2\",\n provider: \"openrouter\",\n family: \"minimax\",\n pricing: { input: 2.8e-7, output: 0.00000115, cacheRead: 2.8e-7, cacheWrite: 0.00000115 },\n contextWindow: 196600,\n maxOutput: 118000,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"minimax/minimax-m2.5\",\n name: \"MiniMax M2.5\",\n provider: \"openrouter\",\n family: \"minimax\",\n pricing: { input: 3e-7, output: 0.0000012, cacheRead: 3e-8 },\n contextWindow: 204800,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"bytedance-seed/seedream-4.5\",\n name: \"Seedream 4.5\",\n provider: \"openrouter\",\n family: \"seed\",\n pricing: { input: 0, output: 0 },\n contextWindow: 4096,\n maxOutput: 4096,\n modalities: { input: [\"image\", \"text\"], output: [\"image\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"anthropic/claude-3.7-sonnet\",\n name: \"Claude Sonnet 3.7\",\n provider: \"openrouter\",\n family: \"claude-sonnet\",\n pricing: { input: 0.000015, output: 0.000075, cacheRead: 0.0000015, cacheWrite: 0.00001875 },\n contextWindow: 200000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"anthropic/claude-opus-4.1\",\n name: \"Claude Opus 4.1\",\n provider: \"openrouter\",\n family: \"claude-opus\",\n pricing: { input: 0.000015, output: 0.000075, cacheRead: 0.0000015, cacheWrite: 0.00001875 },\n contextWindow: 200000,\n maxOutput: 32000,\n modalities: { input: [\"text\", \"image\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"anthropic/claude-sonnet-4.6\",\n name: \"Claude Sonnet 4.6\",\n provider: \"openrouter\",\n family: \"claude-sonnet\",\n pricing: { input: 0.000003, output: 0.000015, cacheRead: 3e-7, cacheWrite: 0.00000375 },\n contextWindow: 1000000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"anthropic/claude-haiku-4.5\",\n name: \"Claude Haiku 4.5\",\n provider: \"openrouter\",\n family: \"claude-haiku\",\n pricing: { input: 0.000001, output: 0.000005, cacheRead: 1e-7, cacheWrite: 0.00000125 },\n contextWindow: 200000,\n maxOutput: 64000,\n modalities: { input: [\"text\", \"image\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"anthropic/claude-3.5-haiku\",\n name: \"Claude Haiku 3.5\",\n provider: \"openrouter\",\n family: \"claude-haiku\",\n pricing: { input: 8e-7, output: 0.000004, cacheRead: 8e-8, cacheWrite: 0.000001 },\n contextWindow: 200000,\n maxOutput: 8192,\n modalities: { input: [\"text\", \"image\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"anthropic/claude-opus-4.5\",\n name: \"Claude Opus 4.5\",\n provider: \"openrouter\",\n family: \"claude-opus\",\n pricing: { input: 0.000005, output: 0.000025, cacheRead: 5e-7, cacheWrite: 0.00000625 },\n contextWindow: 200000,\n maxOutput: 32000,\n modalities: { input: [\"text\", \"image\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"anthropic/claude-opus-4\",\n name: \"Claude Opus 4\",\n provider: \"openrouter\",\n family: \"claude-opus\",\n pricing: { input: 0.000015, output: 0.000075, cacheRead: 0.0000015, cacheWrite: 0.00001875 },\n contextWindow: 200000,\n maxOutput: 32000,\n modalities: { input: [\"text\", \"image\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"anthropic/claude-sonnet-4\",\n name: \"Claude Sonnet 4\",\n provider: \"openrouter\",\n family: \"claude-sonnet\",\n pricing: { input: 0.000003, output: 0.000015, cacheRead: 3e-7, cacheWrite: 0.00000375 },\n contextWindow: 200000,\n maxOutput: 64000,\n modalities: { input: [\"text\", \"image\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: false },\n },\n {\n id: \"anthropic/claude-sonnet-4.5\",\n name: \"Claude Sonnet 4.5\",\n provider: \"openrouter\",\n family: \"claude-sonnet\",\n pricing: { input: 0.000003, output: 0.000015, cacheRead: 3e-7, cacheWrite: 0.00000375 },\n contextWindow: 1000000,\n maxOutput: 64000,\n modalities: { input: [\"text\", \"image\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"anthropic/claude-opus-4.6\",\n name: \"Claude Opus 4.6\",\n provider: \"openrouter\",\n family: \"claude-opus\",\n pricing: { input: 0.000005, output: 0.000025, cacheRead: 5e-7, cacheWrite: 0.00000625 },\n contextWindow: 1000000,\n maxOutput: 128000,\n modalities: { input: [\"text\", \"image\", \"pdf\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: true, structuredOutput: true },\n },\n {\n id: \"black-forest-labs/flux.2-pro\",\n name: \"FLUX.2 Pro\",\n provider: \"openrouter\",\n family: \"flux\",\n pricing: { input: 0, output: 0 },\n contextWindow: 46864,\n maxOutput: 46864,\n modalities: { input: [\"image\", \"text\"], output: [\"image\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"black-forest-labs/flux.2-flex\",\n name: \"FLUX.2 Flex\",\n provider: \"openrouter\",\n family: \"flux\",\n pricing: { input: 0, output: 0 },\n contextWindow: 67344,\n maxOutput: 67344,\n modalities: { input: [\"image\", \"text\"], output: [\"image\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"black-forest-labs/flux.2-max\",\n name: \"FLUX.2 Max\",\n provider: \"openrouter\",\n family: \"flux\",\n pricing: { input: 0, output: 0 },\n contextWindow: 46864,\n maxOutput: 46864,\n modalities: { input: [\"image\", \"text\"], output: [\"image\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"black-forest-labs/flux.2-klein-4b\",\n name: \"FLUX.2 Klein 4B\",\n provider: \"openrouter\",\n family: \"flux\",\n pricing: { input: 0, output: 0 },\n contextWindow: 40960,\n maxOutput: 40960,\n modalities: { input: [\"image\", \"text\"], output: [\"image\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"nousresearch/hermes-4-405b\",\n name: \"Hermes 4 405B\",\n provider: \"openrouter\",\n family: \"hermes\",\n pricing: { input: 0.000001, output: 0.000003 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"nousresearch/hermes-4-70b\",\n name: \"Hermes 4 70B\",\n provider: \"openrouter\",\n family: \"hermes\",\n pricing: { input: 1.3e-7, output: 4e-7 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: true },\n },\n {\n id: \"nousresearch/deephermes-3-llama-3-8b-preview\",\n name: \"DeepHermes 3 Llama 3 8B Preview\",\n provider: \"openrouter\",\n family: \"llama\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 8192,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: true, attachment: false, structuredOutput: false },\n },\n {\n id: \"nousresearch/hermes-3-llama-3.1-405b:free\",\n name: \"Hermes 3 405B Instruct (free)\",\n provider: \"openrouter\",\n family: \"hermes\",\n pricing: { input: 0, output: 0 },\n contextWindow: 131072,\n maxOutput: 131072,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: false, attachment: false, structuredOutput: false },\n },\n] as const satisfies readonly ModelDefinition[];\n"],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ //#region src/catalog/providers/perplexity.ts
2
+ const PERPLEXITY_MODELS = [
3
+ {
4
+ id: "sonar-reasoning-pro",
5
+ name: "Sonar Reasoning Pro",
6
+ provider: "perplexity",
7
+ family: "sonar-reasoning",
8
+ pricing: {
9
+ input: 2e-6,
10
+ output: 8e-6
11
+ },
12
+ contextWindow: 128e3,
13
+ maxOutput: 4096,
14
+ modalities: {
15
+ input: ["text", "image"],
16
+ output: ["text"]
17
+ },
18
+ capabilities: {
19
+ reasoning: true,
20
+ toolCall: false,
21
+ attachment: true,
22
+ structuredOutput: false
23
+ }
24
+ },
25
+ {
26
+ id: "sonar",
27
+ name: "Sonar",
28
+ provider: "perplexity",
29
+ family: "sonar",
30
+ pricing: {
31
+ input: 1e-6,
32
+ output: 1e-6
33
+ },
34
+ contextWindow: 128e3,
35
+ maxOutput: 4096,
36
+ modalities: {
37
+ input: ["text"],
38
+ output: ["text"]
39
+ },
40
+ capabilities: {
41
+ reasoning: false,
42
+ toolCall: false,
43
+ attachment: false,
44
+ structuredOutput: false
45
+ }
46
+ },
47
+ {
48
+ id: "sonar-deep-research",
49
+ name: "Perplexity Sonar Deep Research",
50
+ provider: "perplexity",
51
+ family: "",
52
+ pricing: {
53
+ input: 2e-6,
54
+ output: 8e-6,
55
+ reasoning: 3e-6
56
+ },
57
+ contextWindow: 128e3,
58
+ maxOutput: 32768,
59
+ modalities: {
60
+ input: ["text"],
61
+ output: ["text"]
62
+ },
63
+ capabilities: {
64
+ reasoning: true,
65
+ toolCall: false,
66
+ attachment: false,
67
+ structuredOutput: false
68
+ }
69
+ },
70
+ {
71
+ id: "sonar-pro",
72
+ name: "Sonar Pro",
73
+ provider: "perplexity",
74
+ family: "sonar-pro",
75
+ pricing: {
76
+ input: 3e-6,
77
+ output: 15e-6
78
+ },
79
+ contextWindow: 2e5,
80
+ maxOutput: 8192,
81
+ modalities: {
82
+ input: ["text", "image"],
83
+ output: ["text"]
84
+ },
85
+ capabilities: {
86
+ reasoning: false,
87
+ toolCall: false,
88
+ attachment: true,
89
+ structuredOutput: false
90
+ }
91
+ }
92
+ ];
93
+ //#endregion
94
+ export { PERPLEXITY_MODELS as t };
95
+
96
+ //# sourceMappingURL=perplexity-zeZ2WlBU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perplexity-zeZ2WlBU.mjs","names":[],"sources":["../src/catalog/providers/perplexity.ts"],"sourcesContent":["// ──────────────────────────────────────────────────────────────\n// ███████╗██╗ ██╗███╗ ██╗██╗ ██╗ █████╗ ██╗\n// ██╔════╝██║ ██║████╗ ██║██║ ██╔╝██╔══██╗██║\n// █████╗ ██║ ██║██╔██╗ ██║█████╔╝ ███████║██║\n// ██╔══╝ ██║ ██║██║╚██╗██║██╔═██╗ ██╔══██║██║\n// ██║ ╚██████╔╝██║ ╚████║██║ ██╗██║ ██║██║\n// ╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝\n//\n// AUTO-GENERATED — DO NOT EDIT\n// Source: https://models.dev\n// Update: pnpm --filter=@funkai/models generate:models\n// ──────────────────────────────────────────────────────────────\n\nimport type { ModelDefinition } from \"../types.js\";\n\nexport const PERPLEXITY_MODELS = [\n {\n id: \"sonar-reasoning-pro\",\n name: \"Sonar Reasoning Pro\",\n provider: \"perplexity\",\n family: \"sonar-reasoning\",\n pricing: { input: 0.000002, output: 0.000008 },\n contextWindow: 128000,\n maxOutput: 4096,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: false, attachment: true, structuredOutput: false },\n },\n {\n id: \"sonar\",\n name: \"Sonar\",\n provider: \"perplexity\",\n family: \"sonar\",\n pricing: { input: 0.000001, output: 0.000001 },\n contextWindow: 128000,\n maxOutput: 4096,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"sonar-deep-research\",\n name: \"Perplexity Sonar Deep Research\",\n provider: \"perplexity\",\n family: \"\",\n pricing: { input: 0.000002, output: 0.000008, reasoning: 0.000003 },\n contextWindow: 128000,\n maxOutput: 32768,\n modalities: { input: [\"text\"], output: [\"text\"] },\n capabilities: { reasoning: true, toolCall: false, attachment: false, structuredOutput: false },\n },\n {\n id: \"sonar-pro\",\n name: \"Sonar Pro\",\n provider: \"perplexity\",\n family: \"sonar-pro\",\n pricing: { input: 0.000003, output: 0.000015 },\n contextWindow: 200000,\n maxOutput: 8192,\n modalities: { input: [\"text\", \"image\"], output: [\"text\"] },\n capabilities: { reasoning: false, toolCall: false, attachment: true, structuredOutput: false },\n },\n] as const satisfies readonly ModelDefinition[];\n"],"mappings":";AAeA,MAAa,oBAAoB;CAC/B;EACE,IAAI;EACJ,MAAM;EACN,UAAU;EACV,QAAQ;EACR,SAAS;GAAE,OAAO;GAAU,QAAQ;GAAU;EAC9C,eAAe;EACf,WAAW;EACX,YAAY;GAAE,OAAO,CAAC,QAAQ,QAAQ;GAAE,QAAQ,CAAC,OAAO;GAAE;EAC1D,cAAc;GAAE,WAAW;GAAM,UAAU;GAAO,YAAY;GAAM,kBAAkB;GAAO;EAC9F;CACD;EACE,IAAI;EACJ,MAAM;EACN,UAAU;EACV,QAAQ;EACR,SAAS;GAAE,OAAO;GAAU,QAAQ;GAAU;EAC9C,eAAe;EACf,WAAW;EACX,YAAY;GAAE,OAAO,CAAC,OAAO;GAAE,QAAQ,CAAC,OAAO;GAAE;EACjD,cAAc;GAAE,WAAW;GAAO,UAAU;GAAO,YAAY;GAAO,kBAAkB;GAAO;EAChG;CACD;EACE,IAAI;EACJ,MAAM;EACN,UAAU;EACV,QAAQ;EACR,SAAS;GAAE,OAAO;GAAU,QAAQ;GAAU,WAAW;GAAU;EACnE,eAAe;EACf,WAAW;EACX,YAAY;GAAE,OAAO,CAAC,OAAO;GAAE,QAAQ,CAAC,OAAO;GAAE;EACjD,cAAc;GAAE,WAAW;GAAM,UAAU;GAAO,YAAY;GAAO,kBAAkB;GAAO;EAC/F;CACD;EACE,IAAI;EACJ,MAAM;EACN,UAAU;EACV,QAAQ;EACR,SAAS;GAAE,OAAO;GAAU,QAAQ;GAAU;EAC9C,eAAe;EACf,WAAW;EACX,YAAY;GAAE,OAAO,CAAC,QAAQ,QAAQ;GAAE,QAAQ,CAAC,OAAO;GAAE;EAC1D,cAAc;GAAE,WAAW;GAAO,UAAU;GAAO,YAAY;GAAM,kBAAkB;GAAO;EAC/F;CACF"}