@pydantic/genai-prices 0.0.62 → 0.0.63
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.
- package/dist/cli.js +278 -38
- package/dist/index.cjs +3 -3
- package/dist/index.js +244 -4
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -172,7 +172,7 @@ class De {
|
|
|
172
172
|
let L = null;
|
|
173
173
|
Ae();
|
|
174
174
|
let V = [];
|
|
175
|
-
const
|
|
175
|
+
const w = Object.assign(/* @__PURE__ */ Object.create(null), { _: [] }), se = {};
|
|
176
176
|
for (let e = 0; e < r.length; e++) {
|
|
177
177
|
const a = r[e], c = a.replace(/^-{3,}/, "---");
|
|
178
178
|
let n, t, l, p, d, v;
|
|
@@ -182,39 +182,39 @@ class De {
|
|
|
182
182
|
Y(a);
|
|
183
183
|
continue;
|
|
184
184
|
} else if (a.match(/^--.+=/) || !k["short-option-groups"] && a.match(/^-.+=/))
|
|
185
|
-
p = a.match(/^--?([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && (g(p[1], m.arrays) ? e = K(e, p[1], r, p[2]) : g(p[1], m.nargs) !== !1 ? e = j(e, p[1], r, p[2]) :
|
|
185
|
+
p = a.match(/^--?([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && (g(p[1], m.arrays) ? e = K(e, p[1], r, p[2]) : g(p[1], m.nargs) !== !1 ? e = j(e, p[1], r, p[2]) : b(p[1], p[2], !0));
|
|
186
186
|
else if (a.match(U) && k["boolean-negation"])
|
|
187
|
-
p = a.match(U), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1],
|
|
187
|
+
p = a.match(U), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], b(t, g(t, m.arrays) ? [!1] : !1));
|
|
188
188
|
else if (a.match(/^--.+/) || !k["short-option-groups"] && a.match(/^-[^-]+/))
|
|
189
|
-
p = a.match(/^--?(.+)/), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], g(t, m.arrays) ? e = K(e, t, r) : g(t, m.nargs) !== !1 ? e = j(e, t, r) : (d = r[e + 1], d !== void 0 && (!d.match(/^-/) || d.match(I)) && !g(t, m.bools) && !g(t, m.counts) || /^(true|false)$/.test(d) ? (
|
|
189
|
+
p = a.match(/^--?(.+)/), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], g(t, m.arrays) ? e = K(e, t, r) : g(t, m.nargs) !== !1 ? e = j(e, t, r) : (d = r[e + 1], d !== void 0 && (!d.match(/^-/) || d.match(I)) && !g(t, m.bools) && !g(t, m.counts) || /^(true|false)$/.test(d) ? (b(t, d), e++) : b(t, R(t))));
|
|
190
190
|
else if (a.match(/^-.\..+=/))
|
|
191
|
-
p = a.match(/^-([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 &&
|
|
191
|
+
p = a.match(/^-([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && b(p[1], p[2]);
|
|
192
192
|
else if (a.match(/^-.\..+/) && !a.match(I))
|
|
193
|
-
d = r[e + 1], p = a.match(/^-(.\..+)/), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], d !== void 0 && !d.match(/^-/) && !g(t, m.bools) && !g(t, m.counts) ? (
|
|
193
|
+
d = r[e + 1], p = a.match(/^-(.\..+)/), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], d !== void 0 && !d.match(/^-/) && !g(t, m.bools) && !g(t, m.counts) ? (b(t, d), e++) : b(t, R(t)));
|
|
194
194
|
else if (a.match(/^-[^-]+/) && !a.match(I)) {
|
|
195
195
|
l = a.slice(1, -1).split(""), n = !1;
|
|
196
196
|
for (let x = 0; x < l.length; x++) {
|
|
197
197
|
if (d = a.slice(x + 2), l[x + 1] && l[x + 1] === "=") {
|
|
198
|
-
v = a.slice(x + 3), t = l[x], g(t, m.arrays) ? e = K(e, t, r, v) : g(t, m.nargs) !== !1 ? e = j(e, t, r, v) :
|
|
198
|
+
v = a.slice(x + 3), t = l[x], g(t, m.arrays) ? e = K(e, t, r, v) : g(t, m.nargs) !== !1 ? e = j(e, t, r, v) : b(t, v), n = !0;
|
|
199
199
|
break;
|
|
200
200
|
}
|
|
201
201
|
if (d === "-") {
|
|
202
|
-
|
|
202
|
+
b(l[x], d);
|
|
203
203
|
continue;
|
|
204
204
|
}
|
|
205
205
|
if (/[A-Za-z]/.test(l[x]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(d) && g(d, m.bools) === !1) {
|
|
206
|
-
|
|
206
|
+
b(l[x], d), n = !0;
|
|
207
207
|
break;
|
|
208
208
|
}
|
|
209
209
|
if (l[x + 1] && l[x + 1].match(/\W/)) {
|
|
210
|
-
|
|
210
|
+
b(l[x], d), n = !0;
|
|
211
211
|
break;
|
|
212
212
|
} else
|
|
213
|
-
|
|
213
|
+
b(l[x], R(l[x]));
|
|
214
214
|
}
|
|
215
|
-
t = a.slice(-1)[0], !n && t !== "-" && (g(t, m.arrays) ? e = K(e, t, r) : g(t, m.nargs) !== !1 ? e = j(e, t, r) : (d = r[e + 1], d !== void 0 && (!/^(-|--)[^-]/.test(d) || d.match(I)) && !g(t, m.bools) && !g(t, m.counts) || /^(true|false)$/.test(d) ? (
|
|
215
|
+
t = a.slice(-1)[0], !n && t !== "-" && (g(t, m.arrays) ? e = K(e, t, r) : g(t, m.nargs) !== !1 ? e = j(e, t, r) : (d = r[e + 1], d !== void 0 && (!/^(-|--)[^-]/.test(d) || d.match(I)) && !g(t, m.bools) && !g(t, m.counts) || /^(true|false)$/.test(d) ? (b(t, d), e++) : b(t, R(t))));
|
|
216
216
|
} else if (a.match(/^-[0-9]$/) && a.match(I) && g(a.slice(1), m.bools))
|
|
217
|
-
t = a.slice(1),
|
|
217
|
+
t = a.slice(1), b(t, R(t));
|
|
218
218
|
else if (a === "--") {
|
|
219
219
|
V = r.slice(e + 1);
|
|
220
220
|
break;
|
|
@@ -224,23 +224,23 @@ class De {
|
|
|
224
224
|
} else
|
|
225
225
|
Y(a);
|
|
226
226
|
}
|
|
227
|
-
me(
|
|
228
|
-
N(
|
|
229
|
-
}), Q && V.length && (
|
|
230
|
-
|
|
231
|
-
}), k["camel-case-expansion"] && k["strip-dashed"] && Object.keys(
|
|
232
|
-
delete
|
|
227
|
+
me(w, !0), me(w, !1), fe(w), be(), ue(w, m.aliases, q, !0), we(w), k["set-placeholder-key"] && ve(w), Object.keys(m.counts).forEach(function(e) {
|
|
228
|
+
N(w, e.split(".")) || b(e, 0);
|
|
229
|
+
}), Q && V.length && (w[y] = []), V.forEach(function(e) {
|
|
230
|
+
w[y].push(e);
|
|
231
|
+
}), k["camel-case-expansion"] && k["strip-dashed"] && Object.keys(w).filter((e) => e !== "--" && e.includes("-")).forEach((e) => {
|
|
232
|
+
delete w[e];
|
|
233
233
|
}), k["strip-aliased"] && [].concat(...Object.keys(_).map((e) => _[e])).forEach((e) => {
|
|
234
|
-
k["camel-case-expansion"] && e.includes("-") && delete
|
|
234
|
+
k["camel-case-expansion"] && e.includes("-") && delete w[e.split(".").map((a) => W(a)).join(".")], delete w[e];
|
|
235
235
|
});
|
|
236
236
|
function Y(e) {
|
|
237
237
|
const a = H("_", e);
|
|
238
|
-
(typeof a == "string" || typeof a == "number") &&
|
|
238
|
+
(typeof a == "string" || typeof a == "number") && w._.push(a);
|
|
239
239
|
}
|
|
240
240
|
function j(e, a, c, n) {
|
|
241
241
|
let t, l = g(a, m.nargs);
|
|
242
242
|
if (l = typeof l != "number" || isNaN(l) ? 1 : l, l === 0)
|
|
243
|
-
return G(n) || (L = Error(M("Argument unexpected for: %s", a))),
|
|
243
|
+
return G(n) || (L = Error(M("Argument unexpected for: %s", a))), b(a, R(a)), e;
|
|
244
244
|
let p = G(n) ? 0 : 1;
|
|
245
245
|
if (k["nargs-eats-options"])
|
|
246
246
|
c.length - (e + 1) + p < l && (L = Error(M("Not enough arguments following: %s", a))), p = l;
|
|
@@ -250,8 +250,8 @@ class De {
|
|
|
250
250
|
p < l && (L = Error(M("Not enough arguments following: %s", a)));
|
|
251
251
|
}
|
|
252
252
|
let d = Math.min(p, l);
|
|
253
|
-
for (!G(n) && d > 0 && (
|
|
254
|
-
|
|
253
|
+
for (!G(n) && d > 0 && (b(a, n), d--), t = e + 1; t < d + e + 1; t++)
|
|
254
|
+
b(a, c[t]);
|
|
255
255
|
return e + d;
|
|
256
256
|
}
|
|
257
257
|
function K(e, a, c, n) {
|
|
@@ -269,9 +269,9 @@ class De {
|
|
|
269
269
|
for (let d = e + 1; d < c.length && !(!k["greedy-arrays"] && t.length > 0 || p && typeof p == "number" && t.length >= p || (l = c[d], /^-/.test(l) && !I.test(l) && !$(l))); d++)
|
|
270
270
|
e = d, t.push(J(a, l, h));
|
|
271
271
|
}
|
|
272
|
-
return typeof p == "number" && (p && t.length < p || isNaN(p) && t.length === 0) && (L = Error(M("Not enough arguments following: %s", a))),
|
|
272
|
+
return typeof p == "number" && (p && t.length < p || isNaN(p) && t.length === 0) && (L = Error(M("Not enough arguments following: %s", a))), b(a, t), e;
|
|
273
273
|
}
|
|
274
|
-
function
|
|
274
|
+
function b(e, a, c = h) {
|
|
275
275
|
if (/-/.test(e) && k["camel-case-expansion"]) {
|
|
276
276
|
const l = e.split(".").map(function(p) {
|
|
277
277
|
return W(p);
|
|
@@ -279,13 +279,13 @@ class De {
|
|
|
279
279
|
re(e, l);
|
|
280
280
|
}
|
|
281
281
|
const n = J(e, a, c), t = e.split(".");
|
|
282
|
-
E(
|
|
282
|
+
E(w, t, n), m.aliases[e] && m.aliases[e].forEach(function(l) {
|
|
283
283
|
const p = l.split(".");
|
|
284
|
-
E(
|
|
284
|
+
E(w, p, n);
|
|
285
285
|
}), t.length > 1 && k["dot-notation"] && (m.aliases[t[0]] || []).forEach(function(l) {
|
|
286
286
|
let p = l.split(".");
|
|
287
287
|
const d = [].concat(t);
|
|
288
|
-
d.shift(), p = p.concat(d), (m.aliases[e] || []).includes(p.join(".")) || E(
|
|
288
|
+
d.shift(), p = p.concat(d), (m.aliases[e] || []).includes(p.join(".")) || E(w, p, n);
|
|
289
289
|
}), g(e, m.normalize) && !g(e, m.arrays) && [e].concat(m.aliases[e] || []).forEach(function(p) {
|
|
290
290
|
Object.defineProperty(se, p, {
|
|
291
291
|
enumerable: !0,
|
|
@@ -340,10 +340,10 @@ class De {
|
|
|
340
340
|
function Z(e, a) {
|
|
341
341
|
Object.keys(e).forEach(function(c) {
|
|
342
342
|
const n = e[c], t = a ? a + "." + c : c;
|
|
343
|
-
typeof n == "object" && n !== null && !Array.isArray(n) && k["dot-notation"] ? Z(n, t) : (!N(
|
|
343
|
+
typeof n == "object" && n !== null && !Array.isArray(n) && k["dot-notation"] ? Z(n, t) : (!N(w, t.split(".")) || g(t, m.arrays) && k["combine-arrays"]) && b(t, n);
|
|
344
344
|
});
|
|
345
345
|
}
|
|
346
|
-
function
|
|
346
|
+
function be() {
|
|
347
347
|
typeof T < "u" && T.forEach(function(e) {
|
|
348
348
|
Z(e);
|
|
349
349
|
});
|
|
@@ -357,11 +357,11 @@ class De {
|
|
|
357
357
|
const l = t.split("__").map(function(p, d) {
|
|
358
358
|
return d === 0 && (p = p.substring(c.length)), W(p);
|
|
359
359
|
});
|
|
360
|
-
(a && m.configs[l.join(".")] || !a) && !N(e, l) &&
|
|
360
|
+
(a && m.configs[l.join(".")] || !a) && !N(e, l) && b(l.join("."), n[t]);
|
|
361
361
|
}
|
|
362
362
|
});
|
|
363
363
|
}
|
|
364
|
-
function
|
|
364
|
+
function we(e) {
|
|
365
365
|
let a;
|
|
366
366
|
const c = /* @__PURE__ */ new Set();
|
|
367
367
|
Object.keys(e).forEach(function(n) {
|
|
@@ -486,7 +486,7 @@ class De {
|
|
|
486
486
|
}
|
|
487
487
|
return {
|
|
488
488
|
aliases: Object.assign({}, m.aliases),
|
|
489
|
-
argv: Object.assign(se,
|
|
489
|
+
argv: Object.assign(se, w),
|
|
490
490
|
configuration: k,
|
|
491
491
|
defaulted: Object.assign({}, O),
|
|
492
492
|
error: L,
|
|
@@ -1105,6 +1105,35 @@ const ne = [
|
|
|
1105
1105
|
output_mtok: 25
|
|
1106
1106
|
}
|
|
1107
1107
|
},
|
|
1108
|
+
{
|
|
1109
|
+
id: "claude-opus-4-8",
|
|
1110
|
+
name: "Claude Opus 4.8",
|
|
1111
|
+
description: "Our most capable model for complex reasoning and agentic coding",
|
|
1112
|
+
match: {
|
|
1113
|
+
or: [
|
|
1114
|
+
{
|
|
1115
|
+
starts_with: "claude-opus-4-8"
|
|
1116
|
+
},
|
|
1117
|
+
{
|
|
1118
|
+
starts_with: "claude-opus-4.8"
|
|
1119
|
+
},
|
|
1120
|
+
{
|
|
1121
|
+
starts_with: "claude-4-8-opus"
|
|
1122
|
+
},
|
|
1123
|
+
{
|
|
1124
|
+
starts_with: "claude-4.8-opus"
|
|
1125
|
+
}
|
|
1126
|
+
]
|
|
1127
|
+
},
|
|
1128
|
+
context_window: 1e6,
|
|
1129
|
+
price_comments: "Flat pricing across full 1M context window (no tiered pricing). Ref: https://platform.claude.com/docs/en/about-claude/pricing#long-context-pricing",
|
|
1130
|
+
prices: {
|
|
1131
|
+
input_mtok: 5,
|
|
1132
|
+
cache_write_mtok: 6.25,
|
|
1133
|
+
cache_read_mtok: 0.5,
|
|
1134
|
+
output_mtok: 25
|
|
1135
|
+
}
|
|
1136
|
+
},
|
|
1108
1137
|
{
|
|
1109
1138
|
id: "claude-sonnet-4-0",
|
|
1110
1139
|
name: "Claude Sonnet 4",
|
|
@@ -1580,6 +1609,18 @@ const ne = [
|
|
|
1580
1609
|
output_mtok: 25
|
|
1581
1610
|
}
|
|
1582
1611
|
},
|
|
1612
|
+
{
|
|
1613
|
+
id: "global.anthropic.claude-opus-4-8-v1:0",
|
|
1614
|
+
match: {
|
|
1615
|
+
contains: "global.anthropic.claude-opus-4-8"
|
|
1616
|
+
},
|
|
1617
|
+
prices: {
|
|
1618
|
+
input_mtok: 5,
|
|
1619
|
+
cache_write_mtok: 6.25,
|
|
1620
|
+
cache_read_mtok: 0.5,
|
|
1621
|
+
output_mtok: 25
|
|
1622
|
+
}
|
|
1623
|
+
},
|
|
1583
1624
|
{
|
|
1584
1625
|
id: "global.anthropic.claude-sonnet-4-20250514-v1:0",
|
|
1585
1626
|
match: {
|
|
@@ -1648,6 +1689,39 @@ const ne = [
|
|
|
1648
1689
|
}
|
|
1649
1690
|
}
|
|
1650
1691
|
},
|
|
1692
|
+
{
|
|
1693
|
+
id: "google.gemma-3-12b-it",
|
|
1694
|
+
name: "Gemma 3 12B IT",
|
|
1695
|
+
match: {
|
|
1696
|
+
contains: "google.gemma-3-12b-it"
|
|
1697
|
+
},
|
|
1698
|
+
prices: {
|
|
1699
|
+
input_mtok: 0.09,
|
|
1700
|
+
output_mtok: 0.29
|
|
1701
|
+
}
|
|
1702
|
+
},
|
|
1703
|
+
{
|
|
1704
|
+
id: "google.gemma-3-27b-it",
|
|
1705
|
+
name: "Gemma 3 27B IT",
|
|
1706
|
+
match: {
|
|
1707
|
+
contains: "google.gemma-3-27b-it"
|
|
1708
|
+
},
|
|
1709
|
+
prices: {
|
|
1710
|
+
input_mtok: 0.23,
|
|
1711
|
+
output_mtok: 0.38
|
|
1712
|
+
}
|
|
1713
|
+
},
|
|
1714
|
+
{
|
|
1715
|
+
id: "google.gemma-3-4b-it",
|
|
1716
|
+
name: "Gemma 3 4B IT",
|
|
1717
|
+
match: {
|
|
1718
|
+
contains: "google.gemma-3-4b-it"
|
|
1719
|
+
},
|
|
1720
|
+
prices: {
|
|
1721
|
+
input_mtok: 0.04,
|
|
1722
|
+
output_mtok: 0.08
|
|
1723
|
+
}
|
|
1724
|
+
},
|
|
1651
1725
|
{
|
|
1652
1726
|
id: "meta.llama3-1-70b-instruct-v1:0",
|
|
1653
1727
|
name: "Llama 3.1 70B Instruct",
|
|
@@ -1769,6 +1843,61 @@ const ne = [
|
|
|
1769
1843
|
output_mtok: 0.66
|
|
1770
1844
|
}
|
|
1771
1845
|
},
|
|
1846
|
+
{
|
|
1847
|
+
id: "mistral.devstral-2-123b",
|
|
1848
|
+
name: "Devstral 2 123B",
|
|
1849
|
+
match: {
|
|
1850
|
+
contains: "mistral.devstral-2-123b"
|
|
1851
|
+
},
|
|
1852
|
+
prices: {
|
|
1853
|
+
input_mtok: 0.4,
|
|
1854
|
+
output_mtok: 2
|
|
1855
|
+
}
|
|
1856
|
+
},
|
|
1857
|
+
{
|
|
1858
|
+
id: "mistral.magistral-small-2509",
|
|
1859
|
+
name: "Magistral Small 2509",
|
|
1860
|
+
match: {
|
|
1861
|
+
contains: "mistral.magistral-small-2509"
|
|
1862
|
+
},
|
|
1863
|
+
prices: {
|
|
1864
|
+
input_mtok: 0.5,
|
|
1865
|
+
output_mtok: 1.5
|
|
1866
|
+
}
|
|
1867
|
+
},
|
|
1868
|
+
{
|
|
1869
|
+
id: "mistral.ministral-3-14b-instruct",
|
|
1870
|
+
name: "Ministral 14B 3.0",
|
|
1871
|
+
match: {
|
|
1872
|
+
contains: "mistral.ministral-3-14b-instruct"
|
|
1873
|
+
},
|
|
1874
|
+
prices: {
|
|
1875
|
+
input_mtok: 0.2,
|
|
1876
|
+
output_mtok: 0.2
|
|
1877
|
+
}
|
|
1878
|
+
},
|
|
1879
|
+
{
|
|
1880
|
+
id: "mistral.ministral-3-3b-instruct",
|
|
1881
|
+
name: "Ministral 3B 3.0",
|
|
1882
|
+
match: {
|
|
1883
|
+
contains: "mistral.ministral-3-3b-instruct"
|
|
1884
|
+
},
|
|
1885
|
+
prices: {
|
|
1886
|
+
input_mtok: 0.1,
|
|
1887
|
+
output_mtok: 0.1
|
|
1888
|
+
}
|
|
1889
|
+
},
|
|
1890
|
+
{
|
|
1891
|
+
id: "mistral.ministral-3-8b-instruct",
|
|
1892
|
+
name: "Ministral 8B 3.0",
|
|
1893
|
+
match: {
|
|
1894
|
+
contains: "mistral.ministral-3-8b-instruct"
|
|
1895
|
+
},
|
|
1896
|
+
prices: {
|
|
1897
|
+
input_mtok: 0.15,
|
|
1898
|
+
output_mtok: 0.15
|
|
1899
|
+
}
|
|
1900
|
+
},
|
|
1772
1901
|
{
|
|
1773
1902
|
id: "mistral.mistral-7b-instruct-v0:2",
|
|
1774
1903
|
name: "Mistral 7B Instruct",
|
|
@@ -1791,6 +1920,17 @@ const ne = [
|
|
|
1791
1920
|
output_mtok: 12
|
|
1792
1921
|
}
|
|
1793
1922
|
},
|
|
1923
|
+
{
|
|
1924
|
+
id: "mistral.mistral-large-3-675b-instruct",
|
|
1925
|
+
name: "Mistral Large 3",
|
|
1926
|
+
match: {
|
|
1927
|
+
contains: "mistral.mistral-large-3-675b-instruct"
|
|
1928
|
+
},
|
|
1929
|
+
prices: {
|
|
1930
|
+
input_mtok: 0.5,
|
|
1931
|
+
output_mtok: 1.5
|
|
1932
|
+
}
|
|
1933
|
+
},
|
|
1794
1934
|
{
|
|
1795
1935
|
id: "mistral.mistral-small-2402-v1:0",
|
|
1796
1936
|
name: "Mistral Small (24.02)",
|
|
@@ -1824,6 +1964,28 @@ const ne = [
|
|
|
1824
1964
|
output_mtok: 6
|
|
1825
1965
|
}
|
|
1826
1966
|
},
|
|
1967
|
+
{
|
|
1968
|
+
id: "mistral.voxtral-mini-3b-2507",
|
|
1969
|
+
name: "Voxtral Mini 3B 2507",
|
|
1970
|
+
match: {
|
|
1971
|
+
contains: "mistral.voxtral-mini-3b-2507"
|
|
1972
|
+
},
|
|
1973
|
+
prices: {
|
|
1974
|
+
input_mtok: 0.04,
|
|
1975
|
+
output_mtok: 0.04
|
|
1976
|
+
}
|
|
1977
|
+
},
|
|
1978
|
+
{
|
|
1979
|
+
id: "mistral.voxtral-small-24b-2507",
|
|
1980
|
+
name: "Voxtral Small 24B 2507",
|
|
1981
|
+
match: {
|
|
1982
|
+
contains: "mistral.voxtral-small-24b-2507"
|
|
1983
|
+
},
|
|
1984
|
+
prices: {
|
|
1985
|
+
input_mtok: 0.1,
|
|
1986
|
+
output_mtok: 0.3
|
|
1987
|
+
}
|
|
1988
|
+
},
|
|
1827
1989
|
{
|
|
1828
1990
|
id: "nvidia.nemotron-nano-3-30b:0",
|
|
1829
1991
|
name: "Nemotron 3 Nano 30B",
|
|
@@ -2257,6 +2419,37 @@ const ne = [
|
|
|
2257
2419
|
output_mtok: 27.5
|
|
2258
2420
|
}
|
|
2259
2421
|
},
|
|
2422
|
+
{
|
|
2423
|
+
id: "regional.anthropic.claude-opus-4-8-v1:0",
|
|
2424
|
+
match: {
|
|
2425
|
+
or: [
|
|
2426
|
+
{
|
|
2427
|
+
starts_with: "anthropic.claude-opus-4-8"
|
|
2428
|
+
},
|
|
2429
|
+
{
|
|
2430
|
+
starts_with: "claude-opus-4-8"
|
|
2431
|
+
},
|
|
2432
|
+
{
|
|
2433
|
+
contains: "us.anthropic.claude-opus-4-8"
|
|
2434
|
+
},
|
|
2435
|
+
{
|
|
2436
|
+
contains: "au.anthropic.claude-opus-4-8"
|
|
2437
|
+
},
|
|
2438
|
+
{
|
|
2439
|
+
contains: "eu.anthropic.claude-opus-4-8"
|
|
2440
|
+
},
|
|
2441
|
+
{
|
|
2442
|
+
contains: "jp.anthropic.claude-opus-4-8"
|
|
2443
|
+
}
|
|
2444
|
+
]
|
|
2445
|
+
},
|
|
2446
|
+
prices: {
|
|
2447
|
+
input_mtok: 5.5,
|
|
2448
|
+
cache_write_mtok: 6.875,
|
|
2449
|
+
cache_read_mtok: 0.55,
|
|
2450
|
+
output_mtok: 27.5
|
|
2451
|
+
}
|
|
2452
|
+
},
|
|
2260
2453
|
{
|
|
2261
2454
|
id: "regional.anthropic.claude-sonnet-4-20250514-v1:0",
|
|
2262
2455
|
match: {
|
|
@@ -3244,11 +3437,10 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
3244
3437
|
]
|
|
3245
3438
|
},
|
|
3246
3439
|
context_window: 1e6,
|
|
3247
|
-
price_comments: "Standard (non-promotional) pricing. DeepSeek is offering a temporary 75% promotional discount that is not reflected here.",
|
|
3248
3440
|
prices: {
|
|
3249
|
-
input_mtok:
|
|
3250
|
-
cache_read_mtok:
|
|
3251
|
-
output_mtok:
|
|
3441
|
+
input_mtok: 0.435,
|
|
3442
|
+
cache_read_mtok: 3625e-6,
|
|
3443
|
+
output_mtok: 0.87
|
|
3252
3444
|
}
|
|
3253
3445
|
}
|
|
3254
3446
|
]
|
|
@@ -3838,6 +4030,33 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
3838
4030
|
output_mtok: 25
|
|
3839
4031
|
}
|
|
3840
4032
|
},
|
|
4033
|
+
{
|
|
4034
|
+
id: "claude-opus-4-8",
|
|
4035
|
+
match: {
|
|
4036
|
+
or: [
|
|
4037
|
+
{
|
|
4038
|
+
contains: "claude-4-8-opus"
|
|
4039
|
+
},
|
|
4040
|
+
{
|
|
4041
|
+
contains: "claude-opus-4-8"
|
|
4042
|
+
},
|
|
4043
|
+
{
|
|
4044
|
+
contains: "claude-4.8-opus"
|
|
4045
|
+
},
|
|
4046
|
+
{
|
|
4047
|
+
contains: "claude-opus-4.8"
|
|
4048
|
+
}
|
|
4049
|
+
]
|
|
4050
|
+
},
|
|
4051
|
+
context_window: 1e6,
|
|
4052
|
+
price_comments: "Flat pricing across full 1M context window. Ref: https://cloud.google.com/vertex-ai/generative-ai/pricing#claude-models",
|
|
4053
|
+
prices: {
|
|
4054
|
+
input_mtok: 5,
|
|
4055
|
+
cache_write_mtok: 6.25,
|
|
4056
|
+
cache_read_mtok: 0.5,
|
|
4057
|
+
output_mtok: 25
|
|
4058
|
+
}
|
|
4059
|
+
},
|
|
3841
4060
|
{
|
|
3842
4061
|
id: "gemini-1.0-pro-vision-001",
|
|
3843
4062
|
name: "gemini 1.0 pro vision",
|
|
@@ -11768,6 +11987,27 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
11768
11987
|
output_mtok: 25
|
|
11769
11988
|
}
|
|
11770
11989
|
},
|
|
11990
|
+
{
|
|
11991
|
+
id: "anthropic/claude-opus-4.8",
|
|
11992
|
+
match: {
|
|
11993
|
+
or: [
|
|
11994
|
+
{
|
|
11995
|
+
equals: "anthropic/claude-opus-4.8"
|
|
11996
|
+
},
|
|
11997
|
+
{
|
|
11998
|
+
equals: "anthropic/claude-opus-4.8:beta"
|
|
11999
|
+
}
|
|
12000
|
+
]
|
|
12001
|
+
},
|
|
12002
|
+
context_window: 1e6,
|
|
12003
|
+
price_comments: "Flat pricing across full 1M context window (no tiered pricing). Ref: https://platform.claude.com/docs/en/about-claude/pricing#long-context-pricing",
|
|
12004
|
+
prices: {
|
|
12005
|
+
input_mtok: 5,
|
|
12006
|
+
cache_write_mtok: 6.25,
|
|
12007
|
+
cache_read_mtok: 0.5,
|
|
12008
|
+
output_mtok: 25
|
|
12009
|
+
}
|
|
12010
|
+
},
|
|
11771
12011
|
{
|
|
11772
12012
|
id: "anthropic/claude-sonnet-4.5",
|
|
11773
12013
|
match: {
|