@x12i/ai-tools 1.0.4 → 2.0.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 (153) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +146 -204
  3. package/dist/AiModelsCatalogClient-B5FMI9gj.d.cts +58 -0
  4. package/dist/AiModelsCatalogClient-CPPNI6Ry.d.ts +58 -0
  5. package/dist/aliases/index.cjs +4 -3
  6. package/dist/aliases/index.cjs.map +1 -1
  7. package/dist/aliases/index.d.cts +3 -5
  8. package/dist/aliases/index.d.ts +3 -5
  9. package/dist/aliases/index.js +2 -2
  10. package/dist/catalog/index.cjs +18 -9
  11. package/dist/catalog/index.cjs.map +1 -1
  12. package/dist/catalog/index.d.cts +13 -100
  13. package/dist/catalog/index.d.ts +13 -100
  14. package/dist/catalog/index.js +31 -23
  15. package/dist/{chunk-AJEKEWWB.js → chunk-2PTCWPHV.js} +17 -3
  16. package/dist/chunk-2PTCWPHV.js.map +1 -0
  17. package/dist/chunk-56R4XA2S.js +1 -0
  18. package/dist/chunk-5GUKLOEK.cjs +1 -0
  19. package/dist/chunk-5GUKLOEK.cjs.map +1 -0
  20. package/dist/chunk-5XAAMBDO.cjs +1988 -0
  21. package/dist/chunk-5XAAMBDO.cjs.map +1 -0
  22. package/dist/chunk-6BQBKROR.js +95 -0
  23. package/dist/chunk-6BQBKROR.js.map +1 -0
  24. package/dist/chunk-AB5GNXJ4.js +46 -0
  25. package/dist/chunk-AB5GNXJ4.js.map +1 -0
  26. package/dist/{chunk-O2A6OVEH.js → chunk-ANVONYJF.js} +2 -2
  27. package/dist/{chunk-O2A6OVEH.js.map → chunk-ANVONYJF.js.map} +1 -1
  28. package/dist/chunk-B3V2EHRY.js +225 -0
  29. package/dist/chunk-B3V2EHRY.js.map +1 -0
  30. package/dist/{chunk-QWAX7VQO.cjs → chunk-BAHBDADJ.cjs} +11 -11
  31. package/dist/{chunk-QWAX7VQO.cjs.map → chunk-BAHBDADJ.cjs.map} +1 -1
  32. package/dist/{chunk-TF4L2NEC.cjs → chunk-DXZOL3VN.cjs} +62 -313
  33. package/dist/chunk-DXZOL3VN.cjs.map +1 -0
  34. package/dist/chunk-EDMCKHO6.cjs +225 -0
  35. package/dist/chunk-EDMCKHO6.cjs.map +1 -0
  36. package/dist/{chunk-DJ5SWJDY.js → chunk-EYHMQVAL.js} +48 -299
  37. package/dist/chunk-EYHMQVAL.js.map +1 -0
  38. package/dist/chunk-GS7T56RP.cjs +8 -0
  39. package/dist/chunk-GS7T56RP.cjs.map +1 -0
  40. package/dist/chunk-NF2SKQR7.cjs +973 -0
  41. package/dist/chunk-NF2SKQR7.cjs.map +1 -0
  42. package/dist/chunk-OPN6BGNH.js +1985 -0
  43. package/dist/chunk-OPN6BGNH.js.map +1 -0
  44. package/dist/{chunk-7Q742NI3.cjs → chunk-PADNCGZB.cjs} +17 -3
  45. package/dist/chunk-PADNCGZB.cjs.map +1 -0
  46. package/dist/chunk-PRCICORG.cjs +95 -0
  47. package/dist/chunk-PRCICORG.cjs.map +1 -0
  48. package/dist/{chunk-6QGDZTGH.js → chunk-SIH4GPV4.js} +4 -29
  49. package/dist/chunk-SIH4GPV4.js.map +1 -0
  50. package/dist/chunk-U2YDDUVP.js +970 -0
  51. package/dist/chunk-U2YDDUVP.js.map +1 -0
  52. package/dist/{chunk-4NAY6HRP.js → chunk-VJHLO2R3.js} +7 -58
  53. package/dist/chunk-VJHLO2R3.js.map +1 -0
  54. package/dist/chunk-XAWBTX3N.cjs +46 -0
  55. package/dist/chunk-XAWBTX3N.cjs.map +1 -0
  56. package/dist/{chunk-AV6OE2YQ.cjs → chunk-XOKUDUUI.cjs} +14 -39
  57. package/dist/chunk-XOKUDUUI.cjs.map +1 -0
  58. package/dist/chunk-YQDSN6R6.cjs +86 -0
  59. package/dist/chunk-YQDSN6R6.cjs.map +1 -0
  60. package/dist/cli/index.cjs +59 -201
  61. package/dist/cli/index.cjs.map +1 -1
  62. package/dist/cli/index.js +53 -198
  63. package/dist/cli/index.js.map +1 -1
  64. package/dist/cost/index.cjs +19 -3
  65. package/dist/cost/index.cjs.map +1 -1
  66. package/dist/cost/index.d.cts +10 -50
  67. package/dist/cost/index.d.ts +10 -50
  68. package/dist/cost/index.js +18 -3
  69. package/dist/index.cjs +24 -16
  70. package/dist/index.cjs.map +1 -1
  71. package/dist/index.d.cts +13 -13
  72. package/dist/index.d.ts +13 -13
  73. package/dist/index.js +44 -37
  74. package/dist/modelCache-BzRn6t_C.d.ts +113 -0
  75. package/dist/modelCache-CJftI-Ko.d.cts +113 -0
  76. package/dist/{modelNameResolver-DqFt7g6W.d.ts → modelNameResolver-5XkBMctP.d.ts} +2 -6
  77. package/dist/{modelNameResolver-D9V_GfUK.d.cts → modelNameResolver-C5CSTGFF.d.cts} +2 -6
  78. package/dist/models/index.cjs +9 -6
  79. package/dist/models/index.cjs.map +1 -1
  80. package/dist/models/index.d.cts +9 -31
  81. package/dist/models/index.d.ts +9 -31
  82. package/dist/models/index.js +9 -7
  83. package/dist/resolveUsageModel-BFwf80Hz.d.ts +140 -0
  84. package/dist/resolveUsageModel-C_YmGR1M.d.cts +140 -0
  85. package/dist/sync/index.cjs +7 -9
  86. package/dist/sync/index.cjs.map +1 -1
  87. package/dist/sync/index.d.cts +3 -8
  88. package/dist/sync/index.d.ts +3 -8
  89. package/dist/sync/index.js +8 -11
  90. package/dist/toolbox/index.cjs +1 -0
  91. package/dist/toolbox/index.cjs.map +1 -1
  92. package/dist/types-BrzJWsTU.d.cts +277 -0
  93. package/dist/types-BrzJWsTU.d.ts +277 -0
  94. package/package.json +9 -20
  95. package/src/data/models-catalog.json +670 -0
  96. package/src/data/openrouter-models-catalog.json +857 -0
  97. package/dist/AiModelsCatalogClient-4RF5BCDL.cjs +0 -9
  98. package/dist/AiModelsCatalogClient-4RF5BCDL.cjs.map +0 -1
  99. package/dist/AiModelsCatalogClient-CNeqFiFs.d.cts +0 -30
  100. package/dist/AiModelsCatalogClient-NUF3CBLW.js +0 -9
  101. package/dist/AiModelsCatalogClient-nwFoEaqL.d.ts +0 -30
  102. package/dist/catalox/index.cjs +0 -21
  103. package/dist/catalox/index.cjs.map +0 -1
  104. package/dist/catalox/index.d.cts +0 -11
  105. package/dist/catalox/index.d.ts +0 -11
  106. package/dist/catalox/index.js +0 -21
  107. package/dist/catalox/index.js.map +0 -1
  108. package/dist/chunk-4NAY6HRP.js.map +0 -1
  109. package/dist/chunk-6QGDZTGH.js.map +0 -1
  110. package/dist/chunk-7Q742NI3.cjs.map +0 -1
  111. package/dist/chunk-AJEKEWWB.js.map +0 -1
  112. package/dist/chunk-AV6OE2YQ.cjs.map +0 -1
  113. package/dist/chunk-C3H7RTFR.cjs +0 -1
  114. package/dist/chunk-C3H7RTFR.cjs.map +0 -1
  115. package/dist/chunk-DJ5SWJDY.js.map +0 -1
  116. package/dist/chunk-DKHGWHXP.cjs +0 -169
  117. package/dist/chunk-DKHGWHXP.cjs.map +0 -1
  118. package/dist/chunk-F2F4UEFD.cjs +0 -75
  119. package/dist/chunk-F2F4UEFD.cjs.map +0 -1
  120. package/dist/chunk-FGP3QXWL.cjs +0 -163
  121. package/dist/chunk-FGP3QXWL.cjs.map +0 -1
  122. package/dist/chunk-G2G4KSC5.js +0 -30
  123. package/dist/chunk-G2G4KSC5.js.map +0 -1
  124. package/dist/chunk-HN6UAQAE.cjs +0 -83
  125. package/dist/chunk-HN6UAQAE.cjs.map +0 -1
  126. package/dist/chunk-HS74X2OJ.cjs +0 -172
  127. package/dist/chunk-HS74X2OJ.cjs.map +0 -1
  128. package/dist/chunk-HYGXZY25.js +0 -163
  129. package/dist/chunk-HYGXZY25.js.map +0 -1
  130. package/dist/chunk-KQOALKKX.js +0 -75
  131. package/dist/chunk-KQOALKKX.js.map +0 -1
  132. package/dist/chunk-LYOU7CA2.cjs +0 -30
  133. package/dist/chunk-LYOU7CA2.cjs.map +0 -1
  134. package/dist/chunk-M5TMA73F.js +0 -1
  135. package/dist/chunk-M5TMA73F.js.map +0 -1
  136. package/dist/chunk-MX3AMQFC.js +0 -172
  137. package/dist/chunk-MX3AMQFC.js.map +0 -1
  138. package/dist/chunk-QCRLKVB3.cjs +0 -137
  139. package/dist/chunk-QCRLKVB3.cjs.map +0 -1
  140. package/dist/chunk-TF4L2NEC.cjs.map +0 -1
  141. package/dist/chunk-VRFVF5RH.js +0 -169
  142. package/dist/chunk-VRFVF5RH.js.map +0 -1
  143. package/dist/chunk-YHO57D2V.js +0 -83
  144. package/dist/chunk-YHO57D2V.js.map +0 -1
  145. package/dist/syncAiModelsCatalog-CnXRLm2c.d.cts +0 -32
  146. package/dist/syncAiModelsCatalog-DpkN_w7S.d.ts +0 -32
  147. package/dist/types-BYXnCvKx.d.cts +0 -137
  148. package/dist/types-BYXnCvKx.d.ts +0 -137
  149. package/dist/types-CX6QFNNy.d.cts +0 -144
  150. package/dist/types-CuiPDcVs.d.ts +0 -144
  151. package/dist/upsertAiModelRecord-C831wOIF.d.ts +0 -35
  152. package/dist/upsertAiModelRecord-CjY-sny0.d.cts +0 -35
  153. /package/dist/{AiModelsCatalogClient-NUF3CBLW.js.map → chunk-56R4XA2S.js.map} +0 -0
@@ -0,0 +1,670 @@
1
+ {
2
+ "schema": "x12i.ai-models.catalog",
3
+ "version": "0.1.0",
4
+ "currency": "USD",
5
+ "pricingUnit": "1M_tokens",
6
+ "verifiedAt": "2026-05-27",
7
+ "notes": [
8
+ "All token prices are listed per 1M tokens unless otherwise stated.",
9
+ "Null means pricing was not found or not public in the checked official source.",
10
+ "Some providers price audio, image, video, search, batch, cache, and regional processing separately.",
11
+ "This catalog intentionally does not include OpenRouter pricing."
12
+ ],
13
+ "models": [
14
+ {
15
+ "provider": "openai",
16
+ "modelId": "gpt-5.5",
17
+ "displayName": "GPT-5.5",
18
+ "family": "gpt",
19
+ "status": "active",
20
+ "modalities": ["text", "vision"],
21
+ "contextWindow": 1000000,
22
+ "pricing": {
23
+ "input": 5,
24
+ "cachedInput": 0.5,
25
+ "output": 30,
26
+ "batchDiscount": "50%",
27
+ "priorityMultiplier": 2.5,
28
+ "dataResidencyMultiplier": 1.1
29
+ },
30
+ "sourceUrl": "https://openai.com/api/pricing/"
31
+ },
32
+ {
33
+ "provider": "openai",
34
+ "modelId": "gpt-5.5-pro",
35
+ "displayName": "GPT-5.5 Pro",
36
+ "family": "gpt",
37
+ "status": "announced",
38
+ "modalities": ["text", "vision"],
39
+ "contextWindow": 1000000,
40
+ "pricing": {
41
+ "input": 30,
42
+ "output": 180
43
+ },
44
+ "sourceUrl": "https://openai.com/index/introducing-gpt-5-5/"
45
+ },
46
+ {
47
+ "provider": "openai",
48
+ "modelId": "gpt-5.4",
49
+ "displayName": "GPT-5.4",
50
+ "family": "gpt",
51
+ "status": "active",
52
+ "modalities": ["text", "vision"],
53
+ "pricing": {
54
+ "input": 2.5,
55
+ "cachedInput": 0.25,
56
+ "output": 15,
57
+ "batchDiscount": "50%",
58
+ "dataResidencyMultiplier": 1.1
59
+ },
60
+ "sourceUrl": "https://openai.com/api/pricing/"
61
+ },
62
+ {
63
+ "provider": "openai",
64
+ "modelId": "gpt-5.4-mini",
65
+ "displayName": "GPT-5.4 Mini",
66
+ "family": "gpt",
67
+ "status": "active",
68
+ "modalities": ["text", "vision"],
69
+ "pricing": {
70
+ "input": 0.75,
71
+ "cachedInput": 0.075,
72
+ "output": 4.5,
73
+ "batchDiscount": "50%",
74
+ "dataResidencyMultiplier": 1.1
75
+ },
76
+ "sourceUrl": "https://openai.com/api/pricing/"
77
+ },
78
+ {
79
+ "provider": "openai",
80
+ "modelId": "gpt-realtime-2",
81
+ "displayName": "GPT Realtime 2",
82
+ "family": "gpt-realtime",
83
+ "status": "active",
84
+ "modalities": ["text", "audio", "image"],
85
+ "pricing": {
86
+ "textInput": 4,
87
+ "textCachedInput": 0.4,
88
+ "textOutput": 24,
89
+ "audioInput": 32,
90
+ "audioCachedInput": 0.4,
91
+ "audioOutput": 64,
92
+ "imageInput": 5,
93
+ "imageCachedInput": 0.5
94
+ },
95
+ "sourceUrl": "https://openai.com/api/pricing/"
96
+ },
97
+ {
98
+ "provider": "openai",
99
+ "modelId": "gpt-image-2",
100
+ "displayName": "GPT Image 2",
101
+ "family": "gpt-image",
102
+ "status": "active",
103
+ "modalities": ["image", "text"],
104
+ "pricing": {
105
+ "imageInput": 8,
106
+ "imageCachedInput": 2,
107
+ "imageOutput": 30,
108
+ "textInput": 5,
109
+ "textCachedInput": 1.25
110
+ },
111
+ "sourceUrl": "https://openai.com/api/pricing/"
112
+ },
113
+
114
+ {
115
+ "provider": "anthropic",
116
+ "modelId": "claude-opus-4-7",
117
+ "displayName": "Claude Opus 4.7",
118
+ "family": "claude",
119
+ "status": "active",
120
+ "modalities": ["text", "vision"],
121
+ "contextWindow": 1000000,
122
+ "pricing": {
123
+ "input": 5,
124
+ "cacheWrite5m": 6.25,
125
+ "cacheWrite1h": 10,
126
+ "cacheHit": 0.5,
127
+ "output": 25,
128
+ "batchInput": 2.5,
129
+ "batchOutput": 12.5,
130
+ "fastModeInput": 30,
131
+ "fastModeOutput": 150
132
+ },
133
+ "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing"
134
+ },
135
+ {
136
+ "provider": "anthropic",
137
+ "modelId": "claude-opus-4-6",
138
+ "displayName": "Claude Opus 4.6",
139
+ "family": "claude",
140
+ "status": "active",
141
+ "modalities": ["text", "vision"],
142
+ "contextWindow": 1000000,
143
+ "pricing": {
144
+ "input": 5,
145
+ "cacheWrite5m": 6.25,
146
+ "cacheWrite1h": 10,
147
+ "cacheHit": 0.5,
148
+ "output": 25,
149
+ "batchInput": 2.5,
150
+ "batchOutput": 12.5,
151
+ "fastModeInput": 30,
152
+ "fastModeOutput": 150
153
+ },
154
+ "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing"
155
+ },
156
+ {
157
+ "provider": "anthropic",
158
+ "modelId": "claude-opus-4-5",
159
+ "displayName": "Claude Opus 4.5",
160
+ "family": "claude",
161
+ "status": "active",
162
+ "modalities": ["text", "vision"],
163
+ "pricing": {
164
+ "input": 5,
165
+ "cacheWrite5m": 6.25,
166
+ "cacheWrite1h": 10,
167
+ "cacheHit": 0.5,
168
+ "output": 25,
169
+ "batchInput": 2.5,
170
+ "batchOutput": 12.5
171
+ },
172
+ "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing"
173
+ },
174
+ {
175
+ "provider": "anthropic",
176
+ "modelId": "claude-sonnet-4-6",
177
+ "displayName": "Claude Sonnet 4.6",
178
+ "family": "claude",
179
+ "status": "active",
180
+ "modalities": ["text", "vision"],
181
+ "contextWindow": 1000000,
182
+ "pricing": {
183
+ "input": 3,
184
+ "cacheWrite5m": 3.75,
185
+ "cacheWrite1h": 6,
186
+ "cacheHit": 0.3,
187
+ "output": 15,
188
+ "batchInput": 1.5,
189
+ "batchOutput": 7.5
190
+ },
191
+ "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing"
192
+ },
193
+ {
194
+ "provider": "anthropic",
195
+ "modelId": "claude-sonnet-4-5",
196
+ "displayName": "Claude Sonnet 4.5",
197
+ "family": "claude",
198
+ "status": "active",
199
+ "modalities": ["text", "vision"],
200
+ "pricing": {
201
+ "input": 3,
202
+ "cacheWrite5m": 3.75,
203
+ "cacheWrite1h": 6,
204
+ "cacheHit": 0.3,
205
+ "output": 15,
206
+ "batchInput": 1.5,
207
+ "batchOutput": 7.5
208
+ },
209
+ "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing"
210
+ },
211
+ {
212
+ "provider": "anthropic",
213
+ "modelId": "claude-haiku-4-5",
214
+ "displayName": "Claude Haiku 4.5",
215
+ "family": "claude",
216
+ "status": "active",
217
+ "modalities": ["text", "vision"],
218
+ "pricing": {
219
+ "input": 1,
220
+ "cacheWrite5m": 1.25,
221
+ "cacheWrite1h": 2,
222
+ "cacheHit": 0.1,
223
+ "output": 5,
224
+ "batchInput": 0.5,
225
+ "batchOutput": 2.5
226
+ },
227
+ "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing"
228
+ },
229
+
230
+ {
231
+ "provider": "google",
232
+ "modelId": "gemini-3.5-flash",
233
+ "displayName": "Gemini 3.5 Flash",
234
+ "family": "gemini",
235
+ "status": "active",
236
+ "modalities": ["text", "image", "video", "audio"],
237
+ "pricing": {
238
+ "input": 0.25,
239
+ "audioInput": 0.5,
240
+ "output": 1.5,
241
+ "cachedInput": 0.025,
242
+ "audioCachedInput": 0.05,
243
+ "cacheStoragePerHour": 1,
244
+ "batchInput": 0.125,
245
+ "batchAudioInput": 0.25,
246
+ "batchOutput": 0.75,
247
+ "googleSearchAfterFreePer1kQueries": 14,
248
+ "googleMapsAfterFreePer1kQueries": 14
249
+ },
250
+ "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing"
251
+ },
252
+ {
253
+ "provider": "google",
254
+ "modelId": "gemini-3.1-pro-preview",
255
+ "displayName": "Gemini 3.1 Pro Preview",
256
+ "family": "gemini",
257
+ "status": "preview",
258
+ "modalities": ["text", "image", "video", "audio"],
259
+ "pricing": {
260
+ "input": 0.45,
261
+ "audioInput": 0.9,
262
+ "output": 2.7,
263
+ "cachedInput": 0.045,
264
+ "audioCachedInput": 0.09,
265
+ "cacheStoragePerHour": 1.8,
266
+ "googleSearchAfterFreePer1kQueries": 14,
267
+ "googleMapsAfterFreePer1kQueries": 14
268
+ },
269
+ "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing"
270
+ },
271
+ {
272
+ "provider": "google",
273
+ "modelId": "gemini-3.1-flash-lite-preview",
274
+ "displayName": "Gemini 3.1 Flash-Lite Preview",
275
+ "family": "gemini",
276
+ "status": "preview",
277
+ "modalities": ["text", "image", "video", "audio"],
278
+ "pricing": {
279
+ "input": 0.25,
280
+ "audioInput": 0.5,
281
+ "output": 1.5,
282
+ "cachedInput": 0.025,
283
+ "audioCachedInput": 0.05,
284
+ "cacheStoragePerHour": 1,
285
+ "batchInput": 0.125,
286
+ "batchAudioInput": 0.25,
287
+ "batchOutput": 0.75,
288
+ "googleSearchAfterFreePer1kQueries": 14
289
+ },
290
+ "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing"
291
+ },
292
+ {
293
+ "provider": "google",
294
+ "modelId": "gemini-2.5-flash",
295
+ "displayName": "Gemini 2.5 Flash",
296
+ "family": "gemini",
297
+ "status": "active",
298
+ "modalities": ["text", "image", "video", "audio"],
299
+ "pricing": {
300
+ "input": 0.1,
301
+ "audioInput": 0.7,
302
+ "output": 0.4,
303
+ "cachedInput": 0.025,
304
+ "audioCachedInput": 0.175,
305
+ "cacheStoragePerHour": 1
306
+ },
307
+ "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing"
308
+ },
309
+ {
310
+ "provider": "google",
311
+ "modelId": "gemini-2.5-flash-lite",
312
+ "displayName": "Gemini 2.5 Flash-Lite",
313
+ "family": "gemini",
314
+ "status": "active",
315
+ "modalities": ["text", "image", "video", "audio"],
316
+ "pricing": {
317
+ "input": 0.05,
318
+ "audioInput": 0.35,
319
+ "output": 0.2,
320
+ "cachedInput": 0.025,
321
+ "audioCachedInput": 0.175,
322
+ "cacheStoragePerHour": 1
323
+ },
324
+ "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing"
325
+ },
326
+ {
327
+ "provider": "google",
328
+ "modelId": "gemini-2.5-computer-use-preview-10-2025",
329
+ "displayName": "Gemini 2.5 Computer Use Preview",
330
+ "family": "gemini",
331
+ "status": "preview",
332
+ "modalities": ["text", "image", "browser-control"],
333
+ "pricing": {
334
+ "inputBelow200k": 1.25,
335
+ "inputAbove200k": 2.5,
336
+ "outputBelow200k": 10,
337
+ "outputAbove200k": 15
338
+ },
339
+ "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing"
340
+ },
341
+ {
342
+ "provider": "google",
343
+ "modelId": "gemini-embedding-2",
344
+ "displayName": "Gemini Embedding 2",
345
+ "family": "gemini-embedding",
346
+ "status": "active",
347
+ "modalities": ["text", "image", "video", "audio", "pdf"],
348
+ "pricing": {
349
+ "textInput": 0.2,
350
+ "imageInput": 0.45,
351
+ "audioInput": 6.5,
352
+ "videoInput": 12
353
+ },
354
+ "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing"
355
+ },
356
+ {
357
+ "provider": "google",
358
+ "modelId": "gemini-embedding-001",
359
+ "displayName": "Gemini Embedding",
360
+ "family": "gemini-embedding",
361
+ "status": "active",
362
+ "modalities": ["text"],
363
+ "pricing": {
364
+ "input": 0.15,
365
+ "batchInput": 0.075
366
+ },
367
+ "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing"
368
+ },
369
+
370
+ {
371
+ "provider": "deepseek",
372
+ "modelId": "deepseek-v4-flash",
373
+ "displayName": "DeepSeek V4 Flash",
374
+ "family": "deepseek-v4",
375
+ "status": "active",
376
+ "modalities": ["text"],
377
+ "contextWindow": 1000000,
378
+ "maxOutputTokens": 384000,
379
+ "pricing": {
380
+ "inputCacheHit": 0.0028,
381
+ "inputCacheMiss": 0.14,
382
+ "output": 0.28
383
+ },
384
+ "capabilities": {
385
+ "thinkingMode": true,
386
+ "jsonOutput": true,
387
+ "toolCalls": true,
388
+ "fimCompletion": true
389
+ },
390
+ "sourceUrl": "https://api-docs.deepseek.com/quick_start/pricing"
391
+ },
392
+ {
393
+ "provider": "deepseek",
394
+ "modelId": "deepseek-v4-pro",
395
+ "displayName": "DeepSeek V4 Pro",
396
+ "family": "deepseek-v4",
397
+ "status": "active",
398
+ "modalities": ["text"],
399
+ "contextWindow": 1000000,
400
+ "maxOutputTokens": 384000,
401
+ "pricing": {
402
+ "inputCacheHit": 0.003625,
403
+ "inputCacheMiss": 0.435,
404
+ "output": 0.87,
405
+ "note": "DeepSeek states the 75% reduction becomes official pricing after the promotion ends on 2026-05-31 15:59 UTC."
406
+ },
407
+ "capabilities": {
408
+ "thinkingMode": true,
409
+ "jsonOutput": true,
410
+ "toolCalls": true,
411
+ "fimCompletion": true
412
+ },
413
+ "sourceUrl": "https://api-docs.deepseek.com/quick_start/pricing"
414
+ },
415
+
416
+ {
417
+ "provider": "xai",
418
+ "modelId": "grok-4.3",
419
+ "displayName": "Grok 4.3",
420
+ "family": "grok",
421
+ "status": "active",
422
+ "modalities": ["text"],
423
+ "contextWindow": 1000000,
424
+ "pricing": {
425
+ "input": 1.25,
426
+ "cachedInput": 0.2,
427
+ "output": 2.5
428
+ },
429
+ "capabilities": {
430
+ "reasoning": "configurable",
431
+ "toolCalling": true
432
+ },
433
+ "sourceUrl": "https://docs.x.ai/developers/pricing"
434
+ },
435
+ {
436
+ "provider": "xai",
437
+ "modelId": "grok-build-0.1",
438
+ "displayName": "Grok Build 0.1",
439
+ "family": "grok-build",
440
+ "status": "active",
441
+ "modalities": ["text", "code"],
442
+ "contextWindow": 256000,
443
+ "pricing": {
444
+ "input": 1,
445
+ "cachedInput": 0.2,
446
+ "output": 2
447
+ },
448
+ "sourceUrl": "https://docs.x.ai/developers/pricing"
449
+ },
450
+ {
451
+ "provider": "xai",
452
+ "modelId": "grok-4.20-multi-agent-0309",
453
+ "displayName": "Grok 4.20 Multi-Agent",
454
+ "family": "grok",
455
+ "status": "active",
456
+ "modalities": ["text"],
457
+ "contextWindow": 1000000,
458
+ "pricing": {
459
+ "input": 1.25,
460
+ "cachedInput": 0.2,
461
+ "output": 2.5
462
+ },
463
+ "sourceUrl": "https://docs.x.ai/developers/pricing"
464
+ },
465
+ {
466
+ "provider": "xai",
467
+ "modelId": "grok-4.20-0309-reasoning",
468
+ "displayName": "Grok 4.20 Reasoning",
469
+ "family": "grok",
470
+ "status": "active",
471
+ "modalities": ["text"],
472
+ "contextWindow": 1000000,
473
+ "pricing": {
474
+ "input": 1.25,
475
+ "cachedInput": 0.2,
476
+ "output": 2.5
477
+ },
478
+ "sourceUrl": "https://docs.x.ai/developers/pricing"
479
+ },
480
+ {
481
+ "provider": "xai",
482
+ "modelId": "grok-4.20-0309-non-reasoning",
483
+ "displayName": "Grok 4.20 Non-Reasoning",
484
+ "family": "grok",
485
+ "status": "active",
486
+ "modalities": ["text"],
487
+ "contextWindow": 1000000,
488
+ "pricing": {
489
+ "input": 1.25,
490
+ "cachedInput": 0.2,
491
+ "output": 2.5
492
+ },
493
+ "sourceUrl": "https://docs.x.ai/developers/pricing"
494
+ },
495
+
496
+ {
497
+ "provider": "cohere",
498
+ "modelId": "command-a",
499
+ "displayName": "Command A",
500
+ "family": "command",
501
+ "status": "active",
502
+ "modalities": ["text"],
503
+ "pricing": {
504
+ "input": 1,
505
+ "output": 2
506
+ },
507
+ "sourceUrl": "https://cohere.com/pricing"
508
+ },
509
+ {
510
+ "provider": "cohere",
511
+ "modelId": "command",
512
+ "displayName": "Command",
513
+ "family": "command",
514
+ "status": "legacy",
515
+ "modalities": ["text"],
516
+ "pricing": {
517
+ "input": 1,
518
+ "output": 2
519
+ },
520
+ "sourceUrl": "https://cohere.com/pricing"
521
+ },
522
+ {
523
+ "provider": "cohere",
524
+ "modelId": "command-light",
525
+ "displayName": "Command Light",
526
+ "family": "command",
527
+ "status": "legacy",
528
+ "modalities": ["text"],
529
+ "pricing": {
530
+ "input": 0.3,
531
+ "output": 0.6
532
+ },
533
+ "sourceUrl": "https://cohere.com/pricing"
534
+ },
535
+ {
536
+ "provider": "cohere",
537
+ "modelId": "command-r-03-2024",
538
+ "displayName": "Command R 03-2024",
539
+ "family": "command-r",
540
+ "status": "legacy",
541
+ "modalities": ["text"],
542
+ "pricing": {
543
+ "input": 0.5,
544
+ "output": 1.5
545
+ },
546
+ "sourceUrl": "https://cohere.com/pricing"
547
+ },
548
+ {
549
+ "provider": "cohere",
550
+ "modelId": "command-r-plus-08-2024",
551
+ "displayName": "Command R+ 08-2024",
552
+ "family": "command-r",
553
+ "status": "legacy",
554
+ "modalities": ["text"],
555
+ "pricing": {
556
+ "input": 2.5,
557
+ "output": 10
558
+ },
559
+ "sourceUrl": "https://cohere.com/pricing"
560
+ },
561
+
562
+ {
563
+ "provider": "perplexity",
564
+ "modelId": "sonar-pro",
565
+ "displayName": "Sonar Pro",
566
+ "family": "sonar",
567
+ "status": "active",
568
+ "modalities": ["text", "search"],
569
+ "pricing": {
570
+ "input": 3,
571
+ "output": 15,
572
+ "searchRequestFeePer1k": {
573
+ "fastLow": 6,
574
+ "fastMedium": 10,
575
+ "fastHigh": 14,
576
+ "proLow": 14,
577
+ "proMedium": 18,
578
+ "proHigh": 22
579
+ }
580
+ },
581
+ "sourceUrl": "https://docs.perplexity.ai/docs/getting-started/pricing"
582
+ },
583
+
584
+ {
585
+ "provider": "groq",
586
+ "modelId": "openai/gpt-oss-20b",
587
+ "displayName": "GPT OSS 20B 128k",
588
+ "family": "gpt-oss",
589
+ "status": "active",
590
+ "modalities": ["text"],
591
+ "contextWindow": 128000,
592
+ "pricing": {
593
+ "input": 0.075,
594
+ "output": 0.3
595
+ },
596
+ "sourceUrl": "https://groq.com/pricing"
597
+ },
598
+ {
599
+ "provider": "groq",
600
+ "modelId": "openai/gpt-oss-120b",
601
+ "displayName": "GPT OSS 120B 128k",
602
+ "family": "gpt-oss",
603
+ "status": "active",
604
+ "modalities": ["text"],
605
+ "contextWindow": 128000,
606
+ "pricing": {
607
+ "input": 0.15,
608
+ "output": 0.6
609
+ },
610
+ "sourceUrl": "https://groq.com/pricing"
611
+ },
612
+ {
613
+ "provider": "groq",
614
+ "modelId": "meta-llama/llama-4-scout-17b-16e-instruct",
615
+ "displayName": "Llama 4 Scout 17Bx16E 128k",
616
+ "family": "llama",
617
+ "status": "active",
618
+ "modalities": ["text"],
619
+ "contextWindow": 128000,
620
+ "pricing": {
621
+ "input": 0.11,
622
+ "output": 0.34
623
+ },
624
+ "sourceUrl": "https://groq.com/pricing"
625
+ },
626
+ {
627
+ "provider": "groq",
628
+ "modelId": "qwen/qwen3-32b",
629
+ "displayName": "Qwen3 32B 131k",
630
+ "family": "qwen",
631
+ "status": "active",
632
+ "modalities": ["text"],
633
+ "contextWindow": 131000,
634
+ "pricing": {
635
+ "input": 0.29,
636
+ "output": 0.59
637
+ },
638
+ "sourceUrl": "https://groq.com/pricing"
639
+ },
640
+
641
+ {
642
+ "provider": "mistral",
643
+ "modelId": "mistral-medium-3",
644
+ "displayName": "Mistral Medium 3",
645
+ "family": "mistral",
646
+ "status": "active",
647
+ "modalities": ["text", "vision", "tools"],
648
+ "pricing": {
649
+ "input": 0.4,
650
+ "output": 2
651
+ },
652
+ "sourceUrl": "https://mistral.ai/news/mistral-medium-3"
653
+ },
654
+
655
+ {
656
+ "provider": "ai21",
657
+ "modelId": "jamba-large-1.7",
658
+ "displayName": "Jamba Large 1.7",
659
+ "family": "jamba",
660
+ "status": "needs_verification",
661
+ "modalities": ["text"],
662
+ "pricing": {
663
+ "input": null,
664
+ "output": null
665
+ },
666
+ "notes": "AI21 docs say pricing depends on platform/endpoints and links to account/billing; public token prices were not exposed clearly in the checked official docs.",
667
+ "sourceUrl": "https://docs.ai21.com/docs/usage-cost"
668
+ }
669
+ ]
670
+ }