usage-tab 1.1.0 → 1.2.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.
- package/README.md +6 -6
- package/dist/index.cjs +473 -178
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +473 -178
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -221,7 +221,7 @@ function selectPricingPeriod(periods, at, identity) {
|
|
|
221
221
|
}
|
|
222
222
|
|
|
223
223
|
// ../../internal/model-registry/src/generated/registry.ts
|
|
224
|
-
var REGISTRY_VERSION = "registry-
|
|
224
|
+
var REGISTRY_VERSION = "registry-e5f4ec7eb681a235";
|
|
225
225
|
var MODEL_REGISTRY = [
|
|
226
226
|
{
|
|
227
227
|
canonicalId: "claude-fable-5",
|
|
@@ -230,9 +230,30 @@ var MODEL_REGISTRY = [
|
|
|
230
230
|
family: "fable",
|
|
231
231
|
contextWindow: 1e6,
|
|
232
232
|
pricing: [
|
|
233
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "10.00", "output": "50.00", "cachedInput": "1.00", "cacheWrite": "12.50", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/
|
|
233
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "10.00", "output": "50.00", "cachedInput": "1.00", "cacheWrite": "12.50", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
234
234
|
],
|
|
235
|
-
source: { "url": "https://platform.claude.com/docs/en/about-claude/
|
|
235
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
canonicalId: "claude-fable-5-1",
|
|
239
|
+
provider: "anthropic",
|
|
240
|
+
aliases: [],
|
|
241
|
+
family: "fable",
|
|
242
|
+
contextWindow: 1e6,
|
|
243
|
+
pricing: [
|
|
244
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "10.00", "output": "50.00", "cachedInput": "0.25", "cacheWrite": "12.50", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "Cache hits are priced at 0.025x base input on this model (page footnote 1), not the 0.1x every other model uses - cachedInput is read from the table, not derived.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
245
|
+
],
|
|
246
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
canonicalId: "claude-haiku-3-5",
|
|
250
|
+
provider: "anthropic",
|
|
251
|
+
aliases: [],
|
|
252
|
+
family: "haiku",
|
|
253
|
+
pricing: [
|
|
254
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.80", "output": "4.00", "cachedInput": "0.08", "cacheWrite": "1.00", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "Retired on Anthropic-operated platforms; the pricing page still publishes its rate and notes it remains available on Amazon Bedrock and Google Cloud. Included so historical usage can still be priced.", "This model predates 2026, so the conservative 2026-01-01 effectiveFrom cannot price usage from its actual lifetime; no rollout date was published on the source page. A future pass should source real dates before relying on historical lookups for it.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
255
|
+
],
|
|
256
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
236
257
|
},
|
|
237
258
|
{
|
|
238
259
|
canonicalId: "claude-haiku-4-5-20251001",
|
|
@@ -241,9 +262,59 @@ var MODEL_REGISTRY = [
|
|
|
241
262
|
family: "haiku",
|
|
242
263
|
contextWindow: 2e5,
|
|
243
264
|
pricing: [
|
|
244
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.00", "output": "5.00", "cachedInput": "0.10", "cacheWrite": "1.25", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/
|
|
265
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.00", "output": "5.00", "cachedInput": "0.10", "cacheWrite": "1.25", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
245
266
|
],
|
|
246
|
-
source: { "url": "https://platform.claude.com/docs/en/about-claude/
|
|
267
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["canonicalId is the dated snapshot id published on the models overview page; claude-haiku-4-5 is the alias that resolves to it."] }
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
canonicalId: "claude-mythos-5",
|
|
271
|
+
provider: "anthropic",
|
|
272
|
+
aliases: [],
|
|
273
|
+
family: "mythos",
|
|
274
|
+
pricing: [
|
|
275
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "10.00", "output": "50.00", "cachedInput": "1.00", "cacheWrite": "12.50", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "Limited availability model (page links it to anthropic.com/glasswing); its published rate is recorded as-is.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
276
|
+
],
|
|
277
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
canonicalId: "claude-mythos-5-1",
|
|
281
|
+
provider: "anthropic",
|
|
282
|
+
aliases: [],
|
|
283
|
+
family: "mythos",
|
|
284
|
+
pricing: [
|
|
285
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "10.00", "output": "50.00", "cachedInput": "0.25", "cacheWrite": "12.50", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "Limited availability model (page links it to anthropic.com/glasswing); its published rate is recorded as-is.", "Cache hits are priced at 0.025x base input on this model (page footnote 1), not the 0.1x every other model uses - cachedInput is read from the table, not derived.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
286
|
+
],
|
|
287
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
canonicalId: "claude-opus-4",
|
|
291
|
+
provider: "anthropic",
|
|
292
|
+
aliases: [],
|
|
293
|
+
family: "opus",
|
|
294
|
+
pricing: [
|
|
295
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "15.00", "output": "75.00", "cachedInput": "1.50", "cacheWrite": "18.75", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "Retired on Anthropic-operated platforms; the pricing page still publishes its rate and notes it remains available on Google Cloud. Included so historical usage can still be priced.", "This model predates 2026, so the conservative 2026-01-01 effectiveFrom cannot price usage from its actual lifetime; no rollout date was published on the source page. A future pass should source real dates before relying on historical lookups for it.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
296
|
+
],
|
|
297
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
canonicalId: "claude-opus-4-1",
|
|
301
|
+
provider: "anthropic",
|
|
302
|
+
aliases: [],
|
|
303
|
+
family: "opus",
|
|
304
|
+
pricing: [
|
|
305
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "15.00", "output": "75.00", "cachedInput": "1.50", "cacheWrite": "18.75", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "Retired on Anthropic-operated platforms; the pricing page still publishes its rate and notes it remains available on Amazon Bedrock and Google Cloud. Included so historical usage can still be priced.", "This model predates 2026, so the conservative 2026-01-01 effectiveFrom cannot price usage from its actual lifetime; no rollout date was published on the source page. A future pass should source real dates before relying on historical lookups for it.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
306
|
+
],
|
|
307
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
canonicalId: "claude-opus-4-5",
|
|
311
|
+
provider: "anthropic",
|
|
312
|
+
aliases: [],
|
|
313
|
+
family: "opus",
|
|
314
|
+
pricing: [
|
|
315
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "25.00", "cachedInput": "0.50", "cacheWrite": "6.25", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
316
|
+
],
|
|
317
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
247
318
|
},
|
|
248
319
|
{
|
|
249
320
|
canonicalId: "claude-opus-4-6",
|
|
@@ -252,9 +323,9 @@ var MODEL_REGISTRY = [
|
|
|
252
323
|
family: "opus",
|
|
253
324
|
contextWindow: 1e6,
|
|
254
325
|
pricing: [
|
|
255
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "25.00", "cachedInput": "0.50", "cacheWrite": "6.25", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/
|
|
326
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "25.00", "cachedInput": "0.50", "cacheWrite": "6.25", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
256
327
|
],
|
|
257
|
-
source: { "url": "https://platform.claude.com/docs/en/about-claude/
|
|
328
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
258
329
|
},
|
|
259
330
|
{
|
|
260
331
|
canonicalId: "claude-opus-4-7",
|
|
@@ -263,9 +334,9 @@ var MODEL_REGISTRY = [
|
|
|
263
334
|
family: "opus",
|
|
264
335
|
contextWindow: 1e6,
|
|
265
336
|
pricing: [
|
|
266
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "25.00", "cachedInput": "0.50", "cacheWrite": "6.25", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/
|
|
337
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "25.00", "cachedInput": "0.50", "cacheWrite": "6.25", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
267
338
|
],
|
|
268
|
-
source: { "url": "https://platform.claude.com/docs/en/about-claude/
|
|
339
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
269
340
|
},
|
|
270
341
|
{
|
|
271
342
|
canonicalId: "claude-opus-4-8",
|
|
@@ -274,9 +345,9 @@ var MODEL_REGISTRY = [
|
|
|
274
345
|
family: "opus",
|
|
275
346
|
contextWindow: 1e6,
|
|
276
347
|
pricing: [
|
|
277
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "25.00", "cachedInput": "0.50", "cacheWrite": "6.25", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/
|
|
348
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "25.00", "cachedInput": "0.50", "cacheWrite": "6.25", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
278
349
|
],
|
|
279
|
-
source: { "url": "https://platform.claude.com/docs/en/about-claude/
|
|
350
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
280
351
|
},
|
|
281
352
|
{
|
|
282
353
|
canonicalId: "claude-opus-5",
|
|
@@ -285,9 +356,29 @@ var MODEL_REGISTRY = [
|
|
|
285
356
|
family: "opus",
|
|
286
357
|
contextWindow: 1e6,
|
|
287
358
|
pricing: [
|
|
288
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "25.00", "cachedInput": "0.50", "cacheWrite": "6.25", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/
|
|
359
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "25.00", "cachedInput": "0.50", "cacheWrite": "6.25", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
360
|
+
],
|
|
361
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
canonicalId: "claude-sonnet-4",
|
|
365
|
+
provider: "anthropic",
|
|
366
|
+
aliases: [],
|
|
367
|
+
family: "sonnet",
|
|
368
|
+
pricing: [
|
|
369
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "3.00", "output": "15.00", "cachedInput": "0.30", "cacheWrite": "3.75", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "Retired on Anthropic-operated platforms; the pricing page still publishes its rate and notes it remains available on Amazon Bedrock and Google Cloud. Included so historical usage can still be priced.", "This model predates 2026, so the conservative 2026-01-01 effectiveFrom cannot price usage from its actual lifetime; no rollout date was published on the source page. A future pass should source real dates before relying on historical lookups for it.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
289
370
|
],
|
|
290
|
-
source: { "url": "https://platform.claude.com/docs/en/about-claude/
|
|
371
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
canonicalId: "claude-sonnet-4-5",
|
|
375
|
+
provider: "anthropic",
|
|
376
|
+
aliases: [],
|
|
377
|
+
family: "sonnet",
|
|
378
|
+
pricing: [
|
|
379
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "3.00", "output": "15.00", "cachedInput": "0.30", "cacheWrite": "3.75", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
380
|
+
],
|
|
381
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
291
382
|
},
|
|
292
383
|
{
|
|
293
384
|
canonicalId: "claude-sonnet-4-6",
|
|
@@ -296,9 +387,9 @@ var MODEL_REGISTRY = [
|
|
|
296
387
|
family: "sonnet",
|
|
297
388
|
contextWindow: 1e6,
|
|
298
389
|
pricing: [
|
|
299
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "3.00", "output": "15.00", "cachedInput": "0.30", "cacheWrite": "3.75", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/
|
|
390
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "3.00", "output": "15.00", "cachedInput": "0.30", "cacheWrite": "3.75", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ["Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
300
391
|
],
|
|
301
|
-
source: { "url": "https://platform.claude.com/docs/en/about-claude/
|
|
392
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
302
393
|
},
|
|
303
394
|
{
|
|
304
395
|
canonicalId: "claude-sonnet-5",
|
|
@@ -307,10 +398,9 @@ var MODEL_REGISTRY = [
|
|
|
307
398
|
family: "sonnet",
|
|
308
399
|
contextWindow: 1e6,
|
|
309
400
|
pricing: [
|
|
310
|
-
{ "effectiveFrom": "2026-01-01", "
|
|
311
|
-
{ "effectiveFrom": "2026-09-01", "currency": "USD", "unit": "per-million-tokens", "input": "3.00", "output": "15.00", "cachedInput": "0.30", "cacheWrite": "3.75", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/models/overview", "observedAt": "2026-08-05", "notes": ["Standard rate, effective 2026-09-01 immediately after the introductory-rate window (through 2026-08-31) ends. A lookup dated 2026-09-15 must select this period.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
401
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "10.00", "cachedInput": "0.20", "cacheWrite": "2.50", "batchMultiplier": "0.5", "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07", "notes": ['$2.00/$10.00 launched as an introductory rate through 2026-08-31. On 2026-09-07 the pricing page states it "is now the standard price" and that "the previously scheduled increase to $3/$15 per million input/output tokens on September 1, 2026 will not occur", so the rate continues open-ended rather than ending 2026-08-31.', "Supersedes the two-period shape recorded on 2026-08-05 (introductory $2.00/$10.00 to 2026-09-01, then standard $3.00/$15.00). That second period was removed, not closed: the higher rate never took effect, so no date range may report it.", "Anthropic did not publish an explicit effective date for this rate as observed; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "cacheWrite reflects the 5-minute cache TTL (1.25x input). The 1-hour TTL write multiplier is 2x input and is not separately modeled by this schema (a single cacheWrite field)."] }
|
|
312
402
|
],
|
|
313
|
-
source: { "url": "https://platform.claude.com/docs/en/about-claude/
|
|
403
|
+
source: { "url": "https://platform.claude.com/docs/en/about-claude/pricing", "observedAt": "2026-09-07" }
|
|
314
404
|
},
|
|
315
405
|
{
|
|
316
406
|
canonicalId: "amazon-nova-lite",
|
|
@@ -318,7 +408,7 @@ var MODEL_REGISTRY = [
|
|
|
318
408
|
aliases: [],
|
|
319
409
|
family: "amazon-nova",
|
|
320
410
|
pricing: [
|
|
321
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.60", "output": "2.40", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-08-05", "notes": ["No explicit effective date published for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Same cross-region/in-region caveat as amazon-nova-micro."] }
|
|
411
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.60", "output": "2.40", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-08-05", "notes": ["No explicit effective date published for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Same cross-region/in-region caveat as amazon-nova-micro.", "Not surfaced by the 2026-09-07 fetch of the same page, whose accessible sections did not include this model. observedAt is deliberately left at 2026-08-05: the rate was not re-observed, and an absence in one page fetch is not evidence of a withdrawal."] }
|
|
322
412
|
],
|
|
323
413
|
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-08-05" }
|
|
324
414
|
},
|
|
@@ -328,7 +418,7 @@ var MODEL_REGISTRY = [
|
|
|
328
418
|
aliases: [],
|
|
329
419
|
family: "amazon-nova",
|
|
330
420
|
pricing: [
|
|
331
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.30", "output": "1.20", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-08-05", "notes": [`AWS's own first-party model (Amazon publishes both Bedrock and Nova), so "aws-bedrock" is effectively first-party pricing here, unlike the resold third-party models in this file.`, "No explicit effective date published for this specific rate (unlike the Claude 3.5 Sonnet rows above, which do carry a stated Dec 2025 date); effectiveFrom is set conservatively to 2026-01-01.", `Bedrock's pricing page also distinguishes "Global cross-region" vs "in-region" inference pricing for Nova; this rate was not confirmed to be specifically the in-region (vs cross-region) figure \u2014 treat as the headline on-demand rate observed
|
|
421
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.30", "output": "1.20", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-08-05", "notes": [`AWS's own first-party model (Amazon publishes both Bedrock and Nova), so "aws-bedrock" is effectively first-party pricing here, unlike the resold third-party models in this file.`, "No explicit effective date published for this specific rate (unlike the Claude 3.5 Sonnet rows above, which do carry a stated Dec 2025 date); effectiveFrom is set conservatively to 2026-01-01.", `Bedrock's pricing page also distinguishes "Global cross-region" vs "in-region" inference pricing for Nova; this rate was not confirmed to be specifically the in-region (vs cross-region) figure \u2014 treat as the headline on-demand rate observed.`, "Not surfaced by the 2026-09-07 fetch of the same page, whose accessible sections did not include this model. observedAt is deliberately left at 2026-08-05: the rate was not re-observed, and an absence in one page fetch is not evidence of a withdrawal."] }
|
|
332
422
|
],
|
|
333
423
|
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-08-05" }
|
|
334
424
|
},
|
|
@@ -338,7 +428,7 @@ var MODEL_REGISTRY = [
|
|
|
338
428
|
aliases: [],
|
|
339
429
|
family: "amazon-nova",
|
|
340
430
|
pricing: [
|
|
341
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.20", "output": "4.80", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-08-05", "notes": ["No explicit effective date published for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Same cross-region/in-region caveat as amazon-nova-micro."] }
|
|
431
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.20", "output": "4.80", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-08-05", "notes": ["No explicit effective date published for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Same cross-region/in-region caveat as amazon-nova-micro.", "Not surfaced by the 2026-09-07 fetch of the same page, whose accessible sections did not include this model. observedAt is deliberately left at 2026-08-05: the rate was not re-observed, and an absence in one page fetch is not evidence of a withdrawal."] }
|
|
342
432
|
],
|
|
343
433
|
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-08-05" }
|
|
344
434
|
},
|
|
@@ -348,9 +438,9 @@ var MODEL_REGISTRY = [
|
|
|
348
438
|
aliases: [],
|
|
349
439
|
family: "anthropic-claude",
|
|
350
440
|
pricing: [
|
|
351
|
-
{ "effectiveFrom": "2025-12-01", "currency": "USD", "unit": "per-million-tokens", "input": "6.00", "output": "30.00", "batchMultiplier": "0.5", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-
|
|
441
|
+
{ "effectiveFrom": "2025-12-01", "currency": "USD", "unit": "per-million-tokens", "input": "6.00", "output": "30.00", "batchMultiplier": "0.5", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-09-07", "notes": [`AWS Bedrock's own rate card for this Anthropic model, explicitly labeled "Effective 1 Dec 2025" on the pricing page \u2014 a real, confirmed effective date, not the conservative default used elsewhere in this file.`, "Batch: $3.00/$15.00 (confirmed 0.5x standard) as observed on the same page.", "This is Bedrock's own price for an older Claude generation (3.5 Sonnet), not the current claude-sonnet-5 model in anthropic.json \u2014 no comparable first-party entry exists in this registry for the same model, so no direct parity claim is possible or intended. Bedrock and Azure resell other vendors' models under their own rate cards, so a first-party price is never a safe proxy for theirs.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
352
442
|
],
|
|
353
|
-
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-
|
|
443
|
+
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-09-07" }
|
|
354
444
|
},
|
|
355
445
|
{
|
|
356
446
|
canonicalId: "claude-3.5-sonnet-v2",
|
|
@@ -358,9 +448,29 @@ var MODEL_REGISTRY = [
|
|
|
358
448
|
aliases: [],
|
|
359
449
|
family: "anthropic-claude",
|
|
360
450
|
pricing: [
|
|
361
|
-
{ "effectiveFrom": "2025-12-01", "currency": "USD", "unit": "per-million-tokens", "input": "6.00", "output": "30.00", "cachedInput": "0.60", "cacheWrite": "7.50", "batchMultiplier": "0.5", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-
|
|
451
|
+
{ "effectiveFrom": "2025-12-01", "currency": "USD", "unit": "per-million-tokens", "input": "6.00", "output": "30.00", "cachedInput": "0.60", "cacheWrite": "7.50", "batchMultiplier": "0.5", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-09-07", "notes": [`AWS Bedrock's own rate card, explicitly labeled "Effective 1 Dec 2025" on the pricing page.`, "Batch: $3.00/$15.00 (confirmed 0.5x standard) as observed on the same page.", "Bedrock's own price for an older Claude generation; not comparable to any first-party entry currently in anthropic.json (which covers 4.x/5.x models only).", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
362
452
|
],
|
|
363
|
-
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-
|
|
453
|
+
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-09-07" }
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
canonicalId: "gemma-3-12b",
|
|
457
|
+
provider: "aws-bedrock",
|
|
458
|
+
aliases: [],
|
|
459
|
+
family: "gemma",
|
|
460
|
+
pricing: [
|
|
461
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "0.09", "output": "0.29", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-09-07", "notes": ["Bedrock's own resale rate for this google model, read from Bedrock's pricing page - never copied from that vendor's first-party file.", "Added from the 2026-09-07 fetch; effectiveFrom is the observation date, since the 2026-08-05 fetch of the same page did not surface it.", "US East on-demand rate as printed; Bedrock prices some models per region and this schema has no region dimension."] }
|
|
462
|
+
],
|
|
463
|
+
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-09-07" }
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
canonicalId: "gemma-3-27b",
|
|
467
|
+
provider: "aws-bedrock",
|
|
468
|
+
aliases: [],
|
|
469
|
+
family: "gemma",
|
|
470
|
+
pricing: [
|
|
471
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "0.23", "output": "0.38", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-09-07", "notes": ["Bedrock's own resale rate for this google model, read from Bedrock's pricing page - never copied from that vendor's first-party file.", "Added from the 2026-09-07 fetch; effectiveFrom is the observation date, since the 2026-08-05 fetch of the same page did not surface it.", "US East on-demand rate as printed; Bedrock prices some models per region and this schema has no region dimension."] }
|
|
472
|
+
],
|
|
473
|
+
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-09-07" }
|
|
364
474
|
},
|
|
365
475
|
{
|
|
366
476
|
canonicalId: "gemma-4-31b",
|
|
@@ -368,9 +478,9 @@ var MODEL_REGISTRY = [
|
|
|
368
478
|
aliases: [],
|
|
369
479
|
family: "google-gemma",
|
|
370
480
|
pricing: [
|
|
371
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.14", "output": "0.40", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-
|
|
481
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.14", "output": "0.40", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-09-07", "notes": ["No explicit effective date published for this rate; effectiveFrom is set conservatively to 2026-01-01.", 'Cross-provider alias/canonicalId collision (allowed, not an error): Together AI also lists "Gemma 4 31B" (together.json: gemma-4-31b) at a different, higher rate ($0.39/$0.97 as observed) \u2014 same underlying Google open-weight model, independently priced by each reseller; do not assume parity.', "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
372
482
|
],
|
|
373
|
-
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-
|
|
483
|
+
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-09-07" }
|
|
374
484
|
},
|
|
375
485
|
{
|
|
376
486
|
canonicalId: "mistral-large-3",
|
|
@@ -378,9 +488,19 @@ var MODEL_REGISTRY = [
|
|
|
378
488
|
aliases: [],
|
|
379
489
|
family: "mistral",
|
|
380
490
|
pricing: [
|
|
381
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "1.50", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-
|
|
491
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "1.50", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-09-07", "notes": ["No explicit effective date published for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Cross-provider alias/canonicalId collision (allowed, not an error): Mistral's own first-party pricing (mistral.json: mistral-large-3) shows the identical $0.50/$1.50 figure as independently observed \u2014 coincidental agreement between the two independently fetched sources, not assumed; both were confirmed directly.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
382
492
|
],
|
|
383
|
-
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-
|
|
493
|
+
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-09-07" }
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
canonicalId: "nemotron-3-super-120b",
|
|
497
|
+
provider: "aws-bedrock",
|
|
498
|
+
aliases: [],
|
|
499
|
+
family: "nemotron",
|
|
500
|
+
pricing: [
|
|
501
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.65", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-09-07", "notes": ["Bedrock's own resale rate for this nvidia model, read from Bedrock's pricing page - never copied from that vendor's first-party file.", "Added from the 2026-09-07 fetch; effectiveFrom is the observation date, since the 2026-08-05 fetch of the same page did not surface it.", "US East on-demand rate as printed; Bedrock prices some models per region and this schema has no region dimension."] }
|
|
502
|
+
],
|
|
503
|
+
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-09-07" }
|
|
384
504
|
},
|
|
385
505
|
{
|
|
386
506
|
canonicalId: "nemotron-nano-2",
|
|
@@ -388,7 +508,7 @@ var MODEL_REGISTRY = [
|
|
|
388
508
|
aliases: [],
|
|
389
509
|
family: "nvidia-nemotron",
|
|
390
510
|
pricing: [
|
|
391
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.06", "output": "0.23", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-08-05", "notes": ["No explicit effective date published for this rate; effectiveFrom is set conservatively to 2026-01-01."] }
|
|
511
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.06", "output": "0.23", "sourceUrl": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-08-05", "notes": ["No explicit effective date published for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Not surfaced by the 2026-09-07 fetch of the same page, whose accessible sections did not include this model. observedAt is deliberately left at 2026-08-05: the rate was not re-observed, and an absence in one page fetch is not evidence of a withdrawal."] }
|
|
392
512
|
],
|
|
393
513
|
source: { "url": "https://aws.amazon.com/bedrock/pricing/", "observedAt": "2026-08-05" }
|
|
394
514
|
},
|
|
@@ -618,9 +738,9 @@ var MODEL_REGISTRY = [
|
|
|
618
738
|
aliases: [],
|
|
619
739
|
family: "gpt-5.6",
|
|
620
740
|
pricing: [
|
|
621
|
-
{ "effectiveFrom": "2026-07-01", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "30.00", "cachedInput": "0.50", "cacheWrite": "6.25", "cheapestTier": true, "sourceUrl": "https://prices.azure.com/api/retail/prices?currencyCode='USD'&$filter=contains(productName,%20%27OpenAI%27)", "observedAt": "2026-
|
|
741
|
+
{ "effectiveFrom": "2026-07-01", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "30.00", "cachedInput": "0.50", "cacheWrite": "6.25", "cheapestTier": true, "sourceUrl": "https://prices.azure.com/api/retail/prices?currencyCode='USD'&$filter=contains(productName,%20%27OpenAI%27)", "observedAt": "2026-09-07", "notes": ["retailPrice confirmed identical across all 24 Azure regions returned for this Global-deployment SKU (spot-checked programmatically, not just a couple of regions) \u2014 no regional price variation observed for the Global tier.", "No Batch API meter was found for this model/SKU in the Retail Prices API response; batchMultiplier is intentionally omitted rather than assumed.", `canonicalId "gpt-5.6-sol" is deliberately identical to the same model's entry in openai.json \u2014 Azure genuinely resells the identical first-party OpenAI model, unlike AWS Bedrock's or OpenRouter's differently-branded catalogues. Following the aws-bedrock.json precedent (e.g. its "mistral-large-3" and "gemma-4-31b" entries) rather than OpenRouter's provider-prefixed-slug convention: this is an intentional cross-provider canonicalId collision, not an error. A bare lookup of this id without a provider qualifier is ambiguous by design and must fail, exactly as already documented for the aws-bedrock.json collisions, since a lookup with a duplicated canonicalId requires a provider qualifier to resolve unambiguously. Per this task's ownership boundary, openai.json itself was not modified to cross-reference this note; a follow-up pass should add a mirroring note there.`, `Re-observed 2026-09-07 via the Retail Prices API filtered to this model's meters ("5.6 sol ShortCo Inp Std Gl" $5.00, "5.6 sol ShortCo Opt Std Gl" $30.00, "5.6 sol ShortCo Cd Inp Std Gl" $0.50): unchanged.`, `NOW DIFFERS from OpenAI's own first-party rate in openai.json for the same canonicalId "gpt-5.6-sol". Both files recorded $5.00/$30.00/$0.50 on 2026-08-05; on 2026-09-07 OpenAI's pricing page published $4.00/$20.00/$0.40 while Azure's meters stayed at $5.00/$30.00/$0.50. Azure did not follow the first-party cut, so this joins gpt-5.6-terra and gpt-5.6-luna as a confirmed same-id price divergence rather than a transcription error.`, `The API also exposes "LongCo" (long-context) meters for this model at $10.00 input / $45.00 output Global Standard, alongside the "ShortCo" rates recorded here - the same context tiering OpenAI's page labels "<272K". This schema has no context-length dimension, so only the ShortCo tier is recorded.`] }
|
|
622
742
|
],
|
|
623
|
-
source: { "url": "https://prices.azure.com/api/retail/prices?currencyCode='USD'&$filter=contains(productName,%20%27OpenAI%27)", "observedAt": "2026-
|
|
743
|
+
source: { "url": "https://prices.azure.com/api/retail/prices?currencyCode='USD'&$filter=contains(productName,%20%27OpenAI%27)", "observedAt": "2026-09-07" }
|
|
624
744
|
},
|
|
625
745
|
{
|
|
626
746
|
canonicalId: "gpt-5.6-terra",
|
|
@@ -718,9 +838,9 @@ var MODEL_REGISTRY = [
|
|
|
718
838
|
aliases: [],
|
|
719
839
|
family: "aya-expanse",
|
|
720
840
|
pricing: [
|
|
721
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "1.50", "sourceUrl": "https://cohere.com/pricing", "observedAt": "2026-
|
|
841
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "1.50", "sourceUrl": "https://cohere.com/pricing", "observedAt": "2026-09-07", "notes": ["Cohere's pricing page publishes an identical $0.50/$1.50 rate for both the 8B and 32B Aya Expanse sizes (confirmed by two independent re-fetches of the same page); this was double-checked rather than assumed to be an extraction error.", "effectiveFrom set conservatively to 2026-01-01; exact rate-effective date not published.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
722
842
|
],
|
|
723
|
-
source: { "url": "https://cohere.com/pricing", "observedAt": "2026-
|
|
843
|
+
source: { "url": "https://cohere.com/pricing", "observedAt": "2026-09-07" }
|
|
724
844
|
},
|
|
725
845
|
{
|
|
726
846
|
canonicalId: "aya-expanse-8b",
|
|
@@ -728,9 +848,9 @@ var MODEL_REGISTRY = [
|
|
|
728
848
|
aliases: [],
|
|
729
849
|
family: "aya-expanse",
|
|
730
850
|
pricing: [
|
|
731
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "1.50", "sourceUrl": "https://cohere.com/pricing", "observedAt": "2026-
|
|
851
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "1.50", "sourceUrl": "https://cohere.com/pricing", "observedAt": "2026-09-07", "notes": ["Cohere's pricing page publishes an identical $0.50/$1.50 rate for both the 8B and 32B Aya Expanse sizes (confirmed by two independent re-fetches of the same page); this was double-checked rather than assumed to be an extraction error.", "effectiveFrom set conservatively to 2026-01-01; exact rate-effective date not published.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
732
852
|
],
|
|
733
|
-
source: { "url": "https://cohere.com/pricing", "observedAt": "2026-
|
|
853
|
+
source: { "url": "https://cohere.com/pricing", "observedAt": "2026-09-07" }
|
|
734
854
|
},
|
|
735
855
|
{
|
|
736
856
|
canonicalId: "command",
|
|
@@ -738,9 +858,9 @@ var MODEL_REGISTRY = [
|
|
|
738
858
|
aliases: [],
|
|
739
859
|
family: "command",
|
|
740
860
|
pricing: [
|
|
741
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.00", "output": "2.00", "sourceUrl": "https://cohere.com/pricing", "observedAt": "2026-
|
|
861
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.00", "output": "2.00", "sourceUrl": "https://cohere.com/pricing", "observedAt": "2026-09-07", "notes": ["Cohere's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "This rate appears in the pricing page's FAQ/legacy-rates section, not a headline pricing table; it is nonetheless the only per-token price Cohere currently publishes for this model.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
742
862
|
],
|
|
743
|
-
source: { "url": "https://cohere.com/pricing", "observedAt": "2026-
|
|
863
|
+
source: { "url": "https://cohere.com/pricing", "observedAt": "2026-09-07" }
|
|
744
864
|
},
|
|
745
865
|
{
|
|
746
866
|
canonicalId: "command-light",
|
|
@@ -748,9 +868,9 @@ var MODEL_REGISTRY = [
|
|
|
748
868
|
aliases: [],
|
|
749
869
|
family: "command",
|
|
750
870
|
pricing: [
|
|
751
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.30", "output": "0.60", "sourceUrl": "https://cohere.com/pricing", "observedAt": "2026-
|
|
871
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.30", "output": "0.60", "sourceUrl": "https://cohere.com/pricing", "observedAt": "2026-09-07", "notes": ["Cohere's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", 'FAQ/legacy-rates section pricing, per the same caveat as "command".', "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
752
872
|
],
|
|
753
|
-
source: { "url": "https://cohere.com/pricing", "observedAt": "2026-
|
|
873
|
+
source: { "url": "https://cohere.com/pricing", "observedAt": "2026-09-07" }
|
|
754
874
|
},
|
|
755
875
|
{
|
|
756
876
|
canonicalId: "command-r-03-2024",
|
|
@@ -758,9 +878,9 @@ var MODEL_REGISTRY = [
|
|
|
758
878
|
aliases: [],
|
|
759
879
|
family: "command-r",
|
|
760
880
|
pricing: [
|
|
761
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "1.50", "sourceUrl": "https://cohere.com/pricing", "observedAt": "2026-
|
|
881
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "1.50", "sourceUrl": "https://cohere.com/pricing", "observedAt": "2026-09-07", "notes": [`"03-2024" is Cohere's own dated-snapshot naming for this model, not a confirmed price-effective date; effectiveFrom is set conservatively to 2026-01-01 per this repository's convention (a too-early effectiveFrom is safe; the price could have applied earlier than 2026 but was not independently confirmed).`, "FAQ/legacy-rates section pricing.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
762
882
|
],
|
|
763
|
-
source: { "url": "https://cohere.com/pricing", "observedAt": "2026-
|
|
883
|
+
source: { "url": "https://cohere.com/pricing", "observedAt": "2026-09-07" }
|
|
764
884
|
},
|
|
765
885
|
{
|
|
766
886
|
canonicalId: "command-r-plus-04-2024",
|
|
@@ -768,9 +888,9 @@ var MODEL_REGISTRY = [
|
|
|
768
888
|
aliases: [],
|
|
769
889
|
family: "command-r-plus",
|
|
770
890
|
pricing: [
|
|
771
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "3.00", "output": "15.00", "sourceUrl": "https://cohere.com/pricing", "observedAt": "2026-
|
|
891
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "3.00", "output": "15.00", "sourceUrl": "https://cohere.com/pricing", "observedAt": "2026-09-07", "notes": [`"04-2024" is Cohere's own dated-snapshot naming for this model, not a confirmed price-effective date; effectiveFrom is set conservatively to 2026-01-01.`, `FAQ/legacy-rates section pricing. Superseded in Cohere's catalogue by "Command R+ 08-2024" (below), a distinct dated snapshot with its own price \u2014 the two are not the same PricingPeriod for one model, they are two different canonicalIds, matching how Cohere itself lists them.`, "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
772
892
|
],
|
|
773
|
-
source: { "url": "https://cohere.com/pricing", "observedAt": "2026-
|
|
893
|
+
source: { "url": "https://cohere.com/pricing", "observedAt": "2026-09-07" }
|
|
774
894
|
},
|
|
775
895
|
{
|
|
776
896
|
canonicalId: "command-r-plus-08-2024",
|
|
@@ -778,9 +898,9 @@ var MODEL_REGISTRY = [
|
|
|
778
898
|
aliases: [],
|
|
779
899
|
family: "command-r-plus",
|
|
780
900
|
pricing: [
|
|
781
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.50", "output": "10.00", "sourceUrl": "https://cohere.com/pricing", "observedAt": "2026-
|
|
901
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.50", "output": "10.00", "sourceUrl": "https://cohere.com/pricing", "observedAt": "2026-09-07", "notes": [`"08-2024" is Cohere's own dated-snapshot naming for this model, not a confirmed price-effective date; effectiveFrom is set conservatively to 2026-01-01.`, "FAQ/legacy-rates section pricing.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
782
902
|
],
|
|
783
|
-
source: { "url": "https://cohere.com/pricing", "observedAt": "2026-
|
|
903
|
+
source: { "url": "https://cohere.com/pricing", "observedAt": "2026-09-07" }
|
|
784
904
|
},
|
|
785
905
|
{
|
|
786
906
|
canonicalId: "gemini-2.5-flash",
|
|
@@ -788,9 +908,9 @@ var MODEL_REGISTRY = [
|
|
|
788
908
|
aliases: [],
|
|
789
909
|
family: "gemini-2.5",
|
|
790
910
|
pricing: [
|
|
791
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.30", "output": "2.50", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-
|
|
911
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.30", "output": "2.50", "cachedInput": "0.03", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Google's page does not state when this rate took effect; effectiveFrom is set conservatively to 2026-01-01.", "Input and context-caching rates are the text/image/video rates. The page prices audio input separately ($1.00 input, $0.10 context caching); this schema has no per-modality dimension, so the audio rate is not recorded.", "batchMultiplier of 0.5 was verified from this model's own Batch rows ($0.15 / $1.25), not from a blanket statement.", "cachedInput is this model's own published context-caching rate. The page also charges a separate per-hour cache storage fee, which this per-token schema does not model."] }
|
|
792
912
|
],
|
|
793
|
-
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-
|
|
913
|
+
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07" }
|
|
794
914
|
},
|
|
795
915
|
{
|
|
796
916
|
canonicalId: "gemini-2.5-flash-lite",
|
|
@@ -798,9 +918,9 @@ var MODEL_REGISTRY = [
|
|
|
798
918
|
aliases: [],
|
|
799
919
|
family: "gemini-2.5",
|
|
800
920
|
pricing: [
|
|
801
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.10", "output": "0.40", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-
|
|
921
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.10", "output": "0.40", "cachedInput": "0.01", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Google's page does not state when this rate took effect; effectiveFrom is set conservatively to 2026-01-01.", "Input and context-caching rates are the text/image/video rates. The page prices audio input separately ($0.30 input, $0.03 context caching); this schema has no per-modality dimension, so the audio rate is not recorded.", "batchMultiplier of 0.5 was verified from this model's own Batch rows ($0.05 / $0.20), not from a blanket statement.", "cachedInput is this model's own published context-caching rate. The page also charges a separate per-hour cache storage fee, which this per-token schema does not model."] }
|
|
802
922
|
],
|
|
803
|
-
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-
|
|
923
|
+
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07" }
|
|
804
924
|
},
|
|
805
925
|
{
|
|
806
926
|
canonicalId: "gemini-2.5-pro",
|
|
@@ -808,9 +928,19 @@ var MODEL_REGISTRY = [
|
|
|
808
928
|
aliases: [],
|
|
809
929
|
family: "gemini-2.5",
|
|
810
930
|
pricing: [
|
|
811
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.25", "output": "10.00", "cheapestTier": true, "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-
|
|
931
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.25", "output": "10.00", "cachedInput": "0.125", "batchMultiplier": "0.5", "cheapestTier": true, "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Google's page does not state when this rate took effect; effectiveFrom is set conservatively to 2026-01-01.", "The page prices prompts >200k tokens higher ($2.50 input / $15.00 output / $0.25 context caching); only the <=200k tier is recorded, since this schema has no context-length dimension.", "batchMultiplier of 0.5 was verified from this model's own Batch rows ($0.625 / $5.00), not from a blanket statement.", "cachedInput is this model's own published context-caching rate. The page also charges a separate per-hour cache storage fee, which this per-token schema does not model.", "batchMultiplier and cachedInput added on 2026-09-07: the page now publishes this model's own Batch and context-caching rows, which were not confirmed per-model on 2026-08-05."] }
|
|
932
|
+
],
|
|
933
|
+
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07" }
|
|
934
|
+
},
|
|
935
|
+
{
|
|
936
|
+
canonicalId: "gemini-3.1-flash-lite",
|
|
937
|
+
provider: "google",
|
|
938
|
+
aliases: [],
|
|
939
|
+
family: "gemini-3.1",
|
|
940
|
+
pricing: [
|
|
941
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "0.25", "output": "1.50", "cachedInput": "0.025", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["New model: absent from the pricing page on 2026-08-05, present on 2026-09-07. effectiveFrom is the observation date rather than a backdated guess.", "Input and context-caching rates are the text/image/video rates. The page prices audio input separately ($0.50 input, $0.05 context caching); this schema has no per-modality dimension, so the audio rate is not recorded.", "batchMultiplier of 0.5 was verified from this model's own Batch rows ($0.125 / $0.75), not from a blanket statement.", "cachedInput is this model's own published context-caching rate. The page also charges a separate per-hour cache storage fee, which this per-token schema does not model."] }
|
|
812
942
|
],
|
|
813
|
-
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-
|
|
943
|
+
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07" }
|
|
814
944
|
},
|
|
815
945
|
{
|
|
816
946
|
canonicalId: "gemini-3.1-pro-preview",
|
|
@@ -818,9 +948,9 @@ var MODEL_REGISTRY = [
|
|
|
818
948
|
aliases: [],
|
|
819
949
|
family: "gemini-3.1",
|
|
820
950
|
pricing: [
|
|
821
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "12.00", "cheapestTier": true, "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-
|
|
951
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "12.00", "cachedInput": "0.20", "batchMultiplier": "0.5", "cheapestTier": true, "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Google's page does not state when this rate took effect; effectiveFrom is set conservatively to 2026-01-01.", "The page prices prompts >200k tokens higher ($4.00 input / $18.00 output / $0.40 context caching); only the <=200k tier is recorded, since this schema has no context-length dimension.", "batchMultiplier of 0.5 was verified from this model's own Batch rows ($1.00 / $6.00), not from a blanket statement.", "cachedInput is this model's own published context-caching rate. The page also charges a separate per-hour cache storage fee, which this per-token schema does not model.", "batchMultiplier and cachedInput added on 2026-09-07: the page now publishes this model's own Batch and context-caching rows, which were not confirmed per-model on 2026-08-05."] }
|
|
822
952
|
],
|
|
823
|
-
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-
|
|
953
|
+
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07" }
|
|
824
954
|
},
|
|
825
955
|
{
|
|
826
956
|
canonicalId: "gemini-3.5-flash",
|
|
@@ -828,9 +958,9 @@ var MODEL_REGISTRY = [
|
|
|
828
958
|
aliases: [],
|
|
829
959
|
family: "gemini-3.5",
|
|
830
960
|
pricing: [
|
|
831
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.50", "output": "9.00", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-
|
|
961
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.50", "output": "9.00", "cachedInput": "0.15", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Google's page does not state when this rate took effect; effectiveFrom is set conservatively to 2026-01-01.", "batchMultiplier of 0.5 was verified from this model's own Batch rows ($0.75 / $4.50), not from a blanket statement.", "cachedInput is this model's own published context-caching rate. The page also charges a separate per-hour cache storage fee, which this per-token schema does not model.", "cachedInput added on 2026-09-07: the page now publishes a per-model context-caching rate, which it did not on 2026-08-05."] }
|
|
832
962
|
],
|
|
833
|
-
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-
|
|
963
|
+
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07" }
|
|
834
964
|
},
|
|
835
965
|
{
|
|
836
966
|
canonicalId: "gemini-3.5-flash-lite",
|
|
@@ -838,9 +968,9 @@ var MODEL_REGISTRY = [
|
|
|
838
968
|
aliases: [],
|
|
839
969
|
family: "gemini-3.5",
|
|
840
970
|
pricing: [
|
|
841
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.30", "output": "2.50", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-
|
|
971
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.30", "output": "2.50", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Google's page does not state when this rate took effect; effectiveFrom is set conservatively to 2026-01-01.", "batchMultiplier of 0.5 was verified from this model's own Batch rows ($0.15 / $1.25), not from a blanket statement.", "No context-caching rate is published for this model; cachedInput is omitted rather than inferred from a sibling model."] }
|
|
842
972
|
],
|
|
843
|
-
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-
|
|
973
|
+
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07" }
|
|
844
974
|
},
|
|
845
975
|
{
|
|
846
976
|
canonicalId: "gemini-3.6-flash",
|
|
@@ -848,9 +978,33 @@ var MODEL_REGISTRY = [
|
|
|
848
978
|
aliases: [],
|
|
849
979
|
family: "gemini-3.6",
|
|
850
980
|
pricing: [
|
|
851
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.50", "output": "7.50", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-
|
|
981
|
+
{ "effectiveFrom": "2026-01-01", "effectiveTo": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "1.50", "output": "7.50", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Supersedes the single $1.50 / $7.50 period recorded on 2026-08-05. That rate was live then and is scheduled to return on 2027-01-01, so it is kept as a closed historical period rather than deleted.", "Recorded 2026-08-05 at $1.50 / $7.50 with no cachedInput; the page did not then publish a per-model context-caching rate. Closed at the 2026-09-07 observation date, the last date the promotional rate is known not to have applied being 2026-08-05.", "Google's page does not state when this rate took effect; effectiveFrom is set conservatively to 2026-01-01."] },
|
|
982
|
+
{ "effectiveFrom": "2026-09-07", "effectiveTo": "2027-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.75", "output": "3.75", "cachedInput": "0.075", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Promotional rate published as running through 2026-12-31, with the standard rate resuming 2027-01-01 - both dates are stated on the page, so this period's effectiveTo and the next period's effectiveFrom are sourced, not conservative placeholders.", "batchMultiplier of 0.5 was verified from this model's own Batch rows ($0.375 / $1.875 promo, $0.75 / $3.75 standard), not from a blanket statement.", "cachedInput is this model's own published context-caching rate. The page also charges a separate per-hour cache storage fee, which this per-token schema does not model."] },
|
|
983
|
+
{ "effectiveFrom": "2027-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.50", "output": "7.50", "cachedInput": "0.15", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Standard rate resuming 2027-01-01, the date the page publishes for the end of the promotional rate.", "batchMultiplier of 0.5 was verified from this model's own Batch rows ($0.375 / $1.875 promo, $0.75 / $3.75 standard), not from a blanket statement.", "cachedInput is this model's own published context-caching rate. The page also charges a separate per-hour cache storage fee, which this per-token schema does not model."] }
|
|
984
|
+
],
|
|
985
|
+
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Three periods: the $1.50/$7.50 rate observed 2026-08-05, the $0.75/$3.75 promotional rate observed 2026-09-07 and published as running through 2026-12-31, then the standard rate resuming 2027-01-01."] }
|
|
986
|
+
},
|
|
987
|
+
{
|
|
988
|
+
canonicalId: "gemini-3.7-flash",
|
|
989
|
+
provider: "google",
|
|
990
|
+
aliases: [],
|
|
991
|
+
family: "gemini-3.7",
|
|
992
|
+
pricing: [
|
|
993
|
+
{ "effectiveFrom": "2026-09-07", "effectiveTo": "2027-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.75", "output": "3.75", "cachedInput": "0.075", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["New model: absent from the pricing page on 2026-08-05, present on 2026-09-07. effectiveFrom is the observation date rather than a backdated guess.", "Promotional rate published as running through 2026-12-31, with the standard rate resuming 2027-01-01 - both dates are stated on the page, so this period's effectiveTo and the next period's effectiveFrom are sourced, not conservative placeholders.", "batchMultiplier of 0.5 was verified from this model's own Batch rows ($0.375 / $1.875 promo, $0.75 / $3.75 standard), not from a blanket statement.", "cachedInput is this model's own published context-caching rate. The page also charges a separate per-hour cache storage fee, which this per-token schema does not model."] },
|
|
994
|
+
{ "effectiveFrom": "2027-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.50", "output": "7.50", "cachedInput": "0.15", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Standard rate resuming 2027-01-01, the date the page publishes for the end of the promotional rate.", "batchMultiplier of 0.5 was verified from this model's own Batch rows ($0.375 / $1.875 promo, $0.75 / $3.75 standard), not from a blanket statement.", "cachedInput is this model's own published context-caching rate. The page also charges a separate per-hour cache storage fee, which this per-token schema does not model."] }
|
|
995
|
+
],
|
|
996
|
+
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07" }
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
canonicalId: "gemini-3.8-flash",
|
|
1000
|
+
provider: "google",
|
|
1001
|
+
aliases: [],
|
|
1002
|
+
family: "gemini-3.8",
|
|
1003
|
+
pricing: [
|
|
1004
|
+
{ "effectiveFrom": "2026-09-07", "effectiveTo": "2027-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.75", "output": "3.75", "cachedInput": "0.075", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["New model: absent from the pricing page on 2026-08-05, present on 2026-09-07. effectiveFrom is the observation date rather than a backdated guess.", "Promotional rate published as running through 2026-12-31, with the standard rate resuming 2027-01-01 - both dates are stated on the page, so this period's effectiveTo and the next period's effectiveFrom are sourced, not conservative placeholders.", "batchMultiplier of 0.5 was verified from this model's own Batch rows ($0.375 / $1.875 promo, $0.75 / $3.75 standard), not from a blanket statement.", "cachedInput is this model's own published context-caching rate. The page also charges a separate per-hour cache storage fee, which this per-token schema does not model."] },
|
|
1005
|
+
{ "effectiveFrom": "2027-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.50", "output": "7.50", "cachedInput": "0.15", "batchMultiplier": "0.5", "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Standard rate resuming 2027-01-01, the date the page publishes for the end of the promotional rate.", "batchMultiplier of 0.5 was verified from this model's own Batch rows ($0.375 / $1.875 promo, $0.75 / $3.75 standard), not from a blanket statement.", "cachedInput is this model's own published context-caching rate. The page also charges a separate per-hour cache storage fee, which this per-token schema does not model."] }
|
|
852
1006
|
],
|
|
853
|
-
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-
|
|
1007
|
+
source: { "url": "https://ai.google.dev/gemini-api/docs/pricing", "observedAt": "2026-09-07" }
|
|
854
1008
|
},
|
|
855
1009
|
{
|
|
856
1010
|
canonicalId: "gpt-oss-120b",
|
|
@@ -858,9 +1012,9 @@ var MODEL_REGISTRY = [
|
|
|
858
1012
|
aliases: [],
|
|
859
1013
|
family: "gpt-oss",
|
|
860
1014
|
pricing: [
|
|
861
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.60", "sourceUrl": "https://console.groq.com/docs/models", "observedAt": "2026-
|
|
1015
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.60", "sourceUrl": "https://console.groq.com/docs/models", "observedAt": "2026-09-07", "notes": ["Groq's docs page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "No prompt-caching or Batch API discount is documented for Groq in the fetched page.", "OpenAI's open-weight gpt-oss-120b model, hosted independently by Groq under Groq's own rate card (also hosted by Together AI, at the same $0.15/$0.60 rate as observed \u2014 coincidental agreement, not assumed parity).", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
862
1016
|
],
|
|
863
|
-
source: { "url": "https://console.groq.com/docs/models", "observedAt": "2026-
|
|
1017
|
+
source: { "url": "https://console.groq.com/docs/models", "observedAt": "2026-09-07" }
|
|
864
1018
|
},
|
|
865
1019
|
{
|
|
866
1020
|
canonicalId: "gpt-oss-20b",
|
|
@@ -868,9 +1022,9 @@ var MODEL_REGISTRY = [
|
|
|
868
1022
|
aliases: [],
|
|
869
1023
|
family: "gpt-oss",
|
|
870
1024
|
pricing: [
|
|
871
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.075", "output": "0.30", "sourceUrl": "https://console.groq.com/docs/models", "observedAt": "2026-
|
|
1025
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.075", "output": "0.30", "sourceUrl": "https://console.groq.com/docs/models", "observedAt": "2026-09-07", "notes": ["Groq's docs page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "No prompt-caching or Batch API discount is documented for Groq in the fetched page.", "Also hosted by Together AI at a different rate ($0.05/$0.20 as observed) \u2014 each host prices it independently; do not assume parity.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
872
1026
|
],
|
|
873
|
-
source: { "url": "https://console.groq.com/docs/models", "observedAt": "2026-
|
|
1027
|
+
source: { "url": "https://console.groq.com/docs/models", "observedAt": "2026-09-07" }
|
|
874
1028
|
},
|
|
875
1029
|
{
|
|
876
1030
|
canonicalId: "llama-3.1-8b-instant",
|
|
@@ -878,7 +1032,7 @@ var MODEL_REGISTRY = [
|
|
|
878
1032
|
aliases: ["llama-3.1-8b"],
|
|
879
1033
|
family: "llama-3.1",
|
|
880
1034
|
pricing: [
|
|
881
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.05", "output": "0.08", "sourceUrl": "https://console.groq.com/docs/models", "observedAt": "2026-08-05", "notes": ["Groq's docs page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "No prompt-caching or Batch API discount is documented for Groq in the fetched page, so cachedInput and batchMultiplier are omitted rather than assumed."] }
|
|
1035
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.05", "output": "0.08", "sourceUrl": "https://console.groq.com/docs/models", "observedAt": "2026-08-05", "notes": ["Groq's docs page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "No prompt-caching or Batch API discount is documented for Groq in the fetched page, so cachedInput and batchMultiplier are omitted rather than assumed.", "Not surfaced by the 2026-09-07 fetch of the same page, which listed only the gpt-oss and Qwen models with per-token prices. observedAt is deliberately left at 2026-08-05: the rate was not re-observed, and an absence in one page fetch is not evidence of a withdrawal. Re-check before relying on this entry."] }
|
|
882
1036
|
],
|
|
883
1037
|
source: { "url": "https://console.groq.com/docs/models", "observedAt": "2026-08-05" }
|
|
884
1038
|
},
|
|
@@ -888,7 +1042,7 @@ var MODEL_REGISTRY = [
|
|
|
888
1042
|
aliases: ["llama-3.3-70b"],
|
|
889
1043
|
family: "llama-3.3",
|
|
890
1044
|
pricing: [
|
|
891
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.59", "output": "0.79", "sourceUrl": "https://console.groq.com/docs/models", "observedAt": "2026-08-05", "notes": ["Groq's docs page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "No prompt-caching or Batch API discount is documented for Groq in the fetched page, so cachedInput and batchMultiplier are omitted rather than assumed.", "This is Groq's own hosted rate for the same open-weight model Together AI also hosts (see together.json's llama-3.3-70b at a different, higher price) and AWS Bedrock resells \u2014 each host prices it independently; do not assume parity."] }
|
|
1045
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.59", "output": "0.79", "sourceUrl": "https://console.groq.com/docs/models", "observedAt": "2026-08-05", "notes": ["Groq's docs page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "No prompt-caching or Batch API discount is documented for Groq in the fetched page, so cachedInput and batchMultiplier are omitted rather than assumed.", "This is Groq's own hosted rate for the same open-weight model Together AI also hosts (see together.json's llama-3.3-70b at a different, higher price) and AWS Bedrock resells \u2014 each host prices it independently; do not assume parity.", "Not surfaced by the 2026-09-07 fetch of the same page, which listed only the gpt-oss and Qwen models with per-token prices. observedAt is deliberately left at 2026-08-05: the rate was not re-observed, and an absence in one page fetch is not evidence of a withdrawal. Re-check before relying on this entry."] }
|
|
892
1046
|
],
|
|
893
1047
|
source: { "url": "https://console.groq.com/docs/models", "observedAt": "2026-08-05" }
|
|
894
1048
|
},
|
|
@@ -898,19 +1052,29 @@ var MODEL_REGISTRY = [
|
|
|
898
1052
|
aliases: [],
|
|
899
1053
|
family: "qwen",
|
|
900
1054
|
pricing: [
|
|
901
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.60", "output": "3.00", "sourceUrl": "https://console.groq.com/docs/models", "observedAt": "2026-
|
|
1055
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.60", "output": "3.00", "sourceUrl": "https://console.groq.com/docs/models", "observedAt": "2026-09-07", "notes": [`Listed under Groq's "Preview" models section, not "Production" \u2014 preview models on Groq are explicitly subject to change or removal without notice. Included because a real price was published, but treat this one as less stable than the production-tier entries in this file.`, "Groq's docs page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
902
1056
|
],
|
|
903
|
-
source: { "url": "https://console.groq.com/docs/models", "observedAt": "2026-
|
|
1057
|
+
source: { "url": "https://console.groq.com/docs/models", "observedAt": "2026-09-07" }
|
|
1058
|
+
},
|
|
1059
|
+
{
|
|
1060
|
+
canonicalId: "qwen3.8-27b",
|
|
1061
|
+
provider: "groq",
|
|
1062
|
+
aliases: ["qwen/qwen3.8-27b"],
|
|
1063
|
+
family: "qwen3.8",
|
|
1064
|
+
pricing: [
|
|
1065
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "0.80", "output": "4.00", "sourceUrl": "https://console.groq.com/docs/models", "observedAt": "2026-09-07", "notes": ["New model: absent from this page on 2026-08-05, present on 2026-09-07. effectiveFrom is the observation date rather than this file's conservative 2026-01-01, since the earlier fetch proves it was not listed then.", "Marked Preview on Groq's page - less stable than a Production model, and its price may move accordingly.", "No cached-input rate and no batch discount are published for Groq models; both fields are omitted rather than guessed."] }
|
|
1066
|
+
],
|
|
1067
|
+
source: { "url": "https://console.groq.com/docs/models", "observedAt": "2026-09-07" }
|
|
904
1068
|
},
|
|
905
1069
|
{
|
|
906
1070
|
canonicalId: "codestral",
|
|
907
1071
|
provider: "mistral",
|
|
908
|
-
aliases: [],
|
|
1072
|
+
aliases: ["codestral-latest"],
|
|
909
1073
|
family: "codestral",
|
|
910
1074
|
pricing: [
|
|
911
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.30", "output": "0.90", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-
|
|
1075
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.30", "output": "0.90", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Re-confirmed unchanged on 2026-09-07 against the same page, which prints the API id as 'codestral-latest' (recorded as an alias)."] }
|
|
912
1076
|
],
|
|
913
|
-
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-
|
|
1077
|
+
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07" }
|
|
914
1078
|
},
|
|
915
1079
|
{
|
|
916
1080
|
canonicalId: "devstral-2",
|
|
@@ -918,7 +1082,7 @@ var MODEL_REGISTRY = [
|
|
|
918
1082
|
aliases: [],
|
|
919
1083
|
family: "devstral",
|
|
920
1084
|
pricing: [
|
|
921
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.40", "output": "2.00", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01."] }
|
|
1085
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.40", "output": "2.00", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Not surfaced by the 2026-09-07 fetch of the same page, which listed only the Medium/Small/Large, Ministral, Codestral, embedding and third-party GLM entries. observedAt is deliberately left at 2026-08-05: the rate was not re-observed, and an absence in one page fetch is not evidence of a withdrawal. Re-check before relying on this entry."] }
|
|
922
1086
|
],
|
|
923
1087
|
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05" }
|
|
924
1088
|
},
|
|
@@ -928,7 +1092,7 @@ var MODEL_REGISTRY = [
|
|
|
928
1092
|
aliases: [],
|
|
929
1093
|
family: "devstral",
|
|
930
1094
|
pricing: [
|
|
931
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.10", "output": "0.30", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01."] }
|
|
1095
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.10", "output": "0.30", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Not surfaced by the 2026-09-07 fetch of the same page, which listed only the Medium/Small/Large, Ministral, Codestral, embedding and third-party GLM entries. observedAt is deliberately left at 2026-08-05: the rate was not re-observed, and an absence in one page fetch is not evidence of a withdrawal. Re-check before relying on this entry."] }
|
|
932
1096
|
],
|
|
933
1097
|
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05" }
|
|
934
1098
|
},
|
|
@@ -938,7 +1102,7 @@ var MODEL_REGISTRY = [
|
|
|
938
1102
|
aliases: [],
|
|
939
1103
|
family: "magistral",
|
|
940
1104
|
pricing: [
|
|
941
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "5.00", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", 'Listed as a reasoning model on the pricing page; no separate "reasoning" surcharge is published, so the reasoning field is omitted.'] }
|
|
1105
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "5.00", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", 'Listed as a reasoning model on the pricing page; no separate "reasoning" surcharge is published, so the reasoning field is omitted.', "Not surfaced by the 2026-09-07 fetch of the same page, which listed only the Medium/Small/Large, Ministral, Codestral, embedding and third-party GLM entries. observedAt is deliberately left at 2026-08-05: the rate was not re-observed, and an absence in one page fetch is not evidence of a withdrawal. Re-check before relying on this entry."] }
|
|
942
1106
|
],
|
|
943
1107
|
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05" }
|
|
944
1108
|
},
|
|
@@ -948,59 +1112,59 @@ var MODEL_REGISTRY = [
|
|
|
948
1112
|
aliases: [],
|
|
949
1113
|
family: "magistral",
|
|
950
1114
|
pricing: [
|
|
951
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "1.50", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01."] }
|
|
1115
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "1.50", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Not surfaced by the 2026-09-07 fetch of the same page, which listed only the Medium/Small/Large, Ministral, Codestral, embedding and third-party GLM entries. observedAt is deliberately left at 2026-08-05: the rate was not re-observed, and an absence in one page fetch is not evidence of a withdrawal. Re-check before relying on this entry."] }
|
|
952
1116
|
],
|
|
953
1117
|
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05" }
|
|
954
1118
|
},
|
|
955
1119
|
{
|
|
956
1120
|
canonicalId: "ministral-3-14b",
|
|
957
1121
|
provider: "mistral",
|
|
958
|
-
aliases: [],
|
|
1122
|
+
aliases: ["ministral-14b-latest"],
|
|
959
1123
|
family: "ministral-3",
|
|
960
1124
|
pricing: [
|
|
961
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.20", "output": "0.20", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-
|
|
1125
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.20", "output": "0.20", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", `AWS Bedrock resells a "Ministral 14B 3.0" at the same $0.20/$0.20 figure as independently observed on Bedrock's pricing page \u2014 likely the same model, coincidental agreement not assumed; Bedrock's variant was not added to aws-bedrock.json in this pass since the version suffix ("3.0") was not cross-checked against this "ministral-3-14b" naming.`, "Re-confirmed unchanged on 2026-09-07 against the same page, which prints the API id as 'ministral-14b-latest' (recorded as an alias)."] }
|
|
962
1126
|
],
|
|
963
|
-
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-
|
|
1127
|
+
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07" }
|
|
964
1128
|
},
|
|
965
1129
|
{
|
|
966
1130
|
canonicalId: "ministral-3-3b",
|
|
967
1131
|
provider: "mistral",
|
|
968
|
-
aliases: [],
|
|
1132
|
+
aliases: ["ministral-3b-latest"],
|
|
969
1133
|
family: "ministral-3",
|
|
970
1134
|
pricing: [
|
|
971
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.10", "output": "0.10", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-
|
|
1135
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.10", "output": "0.10", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Re-confirmed unchanged on 2026-09-07 against the same page, which prints the API id as 'ministral-3b-latest' (recorded as an alias)."] }
|
|
972
1136
|
],
|
|
973
|
-
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-
|
|
1137
|
+
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07" }
|
|
974
1138
|
},
|
|
975
1139
|
{
|
|
976
1140
|
canonicalId: "ministral-3-8b",
|
|
977
1141
|
provider: "mistral",
|
|
978
|
-
aliases: [],
|
|
1142
|
+
aliases: ["ministral-8b-latest"],
|
|
979
1143
|
family: "ministral-3",
|
|
980
1144
|
pricing: [
|
|
981
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.15", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-
|
|
1145
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.15", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Re-confirmed unchanged on 2026-09-07 against the same page, which prints the API id as 'ministral-8b-latest' (recorded as an alias)."] }
|
|
982
1146
|
],
|
|
983
|
-
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-
|
|
1147
|
+
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07" }
|
|
984
1148
|
},
|
|
985
1149
|
{
|
|
986
1150
|
canonicalId: "mistral-large-3",
|
|
987
1151
|
provider: "mistral",
|
|
988
|
-
aliases: [],
|
|
1152
|
+
aliases: ["mistral-large-latest"],
|
|
989
1153
|
family: "mistral-large",
|
|
990
1154
|
pricing: [
|
|
991
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "1.50", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-
|
|
1155
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "1.50", "cachedInput": "0.05", "batchMultiplier": "0.5", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", `This is Mistral's own first-party rate. AWS Bedrock also resells "Mistral Large 3" under its own rate card at the same $0.50/$1.50 figure as independently observed on Bedrock's pricing page \u2014 coincidental agreement between the two sources, not assumed; see aws-bedrock.json.`, "Re-confirmed unchanged on 2026-09-07 against the same page, which prints the API id as 'mistral-large-latest' (recorded as an alias).", `cachedInput and batchMultiplier added on 2026-09-07: the page publishes "Cached input: 90% discount" and "Batch: 50% discount" for this model, so cachedInput is 0.1x this model's own input rate (0.50 -> 0.05), computed as an exact decimal, and batchMultiplier is 0.5. Both come from this model's own row, not from a sibling's rate.`] }
|
|
992
1156
|
],
|
|
993
|
-
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-
|
|
1157
|
+
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07" }
|
|
994
1158
|
},
|
|
995
1159
|
{
|
|
996
1160
|
canonicalId: "mistral-medium-3.5",
|
|
997
1161
|
provider: "mistral",
|
|
998
|
-
aliases: [],
|
|
1162
|
+
aliases: ["mistral-medium-latest"],
|
|
999
1163
|
family: "mistral-medium",
|
|
1000
1164
|
pricing: [
|
|
1001
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.50", "output": "7.50", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-
|
|
1165
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.50", "output": "7.50", "cachedInput": "0.15", "batchMultiplier": "0.5", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "No cachedInput or batchMultiplier is documented on the fetched page for this model; omitted rather than assumed.", "Re-confirmed unchanged on 2026-09-07 against the same page, which prints the API id as 'mistral-medium-latest' (recorded as an alias).", `cachedInput and batchMultiplier added on 2026-09-07: the page publishes "Cached input: 90% discount" and "Batch: 50% discount" for this model, so cachedInput is 0.1x this model's own input rate (1.50 -> 0.15), computed as an exact decimal, and batchMultiplier is 0.5. Both come from this model's own row, not from a sibling's rate.`] }
|
|
1002
1166
|
],
|
|
1003
|
-
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-
|
|
1167
|
+
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07" }
|
|
1004
1168
|
},
|
|
1005
1169
|
{
|
|
1006
1170
|
canonicalId: "mistral-nemo",
|
|
@@ -1008,19 +1172,19 @@ var MODEL_REGISTRY = [
|
|
|
1008
1172
|
aliases: [],
|
|
1009
1173
|
family: "mistral-nemo",
|
|
1010
1174
|
pricing: [
|
|
1011
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.15", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "An older model generation still listed with a live price on the current pricing page as fetched; included because it is confidently sourced, not because it is a current flagship."] }
|
|
1175
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.15", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "An older model generation still listed with a live price on the current pricing page as fetched; included because it is confidently sourced, not because it is a current flagship.", "Not surfaced by the 2026-09-07 fetch of the same page, which listed only the Medium/Small/Large, Ministral, Codestral, embedding and third-party GLM entries. observedAt is deliberately left at 2026-08-05: the rate was not re-observed, and an absence in one page fetch is not evidence of a withdrawal. Re-check before relying on this entry."] }
|
|
1012
1176
|
],
|
|
1013
1177
|
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05" }
|
|
1014
1178
|
},
|
|
1015
1179
|
{
|
|
1016
1180
|
canonicalId: "mistral-small-4",
|
|
1017
1181
|
provider: "mistral",
|
|
1018
|
-
aliases: [],
|
|
1182
|
+
aliases: ["mistral-small-latest"],
|
|
1019
1183
|
family: "mistral-small",
|
|
1020
1184
|
pricing: [
|
|
1021
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.60", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-
|
|
1185
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.60", "cachedInput": "0.015", "batchMultiplier": "0.5", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Re-confirmed unchanged on 2026-09-07 against the same page, which prints the API id as 'mistral-small-latest' (recorded as an alias).", `cachedInput and batchMultiplier added on 2026-09-07: the page publishes "Cached input: 90% discount" and "Batch: 50% discount" for this model, so cachedInput is 0.1x this model's own input rate (0.15 -> 0.015), computed as an exact decimal, and batchMultiplier is 0.5. Both come from this model's own row, not from a sibling's rate.`] }
|
|
1022
1186
|
],
|
|
1023
|
-
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-
|
|
1187
|
+
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07" }
|
|
1024
1188
|
},
|
|
1025
1189
|
{
|
|
1026
1190
|
canonicalId: "mixtral-8x22b",
|
|
@@ -1028,7 +1192,7 @@ var MODEL_REGISTRY = [
|
|
|
1028
1192
|
aliases: [],
|
|
1029
1193
|
family: "mixtral",
|
|
1030
1194
|
pricing: [
|
|
1031
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "6.00", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "An older model generation still listed with a live price on the current pricing page as fetched."] }
|
|
1195
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "6.00", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "An older model generation still listed with a live price on the current pricing page as fetched.", "Not surfaced by the 2026-09-07 fetch of the same page, which listed only the Medium/Small/Large, Ministral, Codestral, embedding and third-party GLM entries. observedAt is deliberately left at 2026-08-05: the rate was not re-observed, and an absence in one page fetch is not evidence of a withdrawal. Re-check before relying on this entry."] }
|
|
1032
1196
|
],
|
|
1033
1197
|
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05" }
|
|
1034
1198
|
},
|
|
@@ -1038,19 +1202,29 @@ var MODEL_REGISTRY = [
|
|
|
1038
1202
|
aliases: [],
|
|
1039
1203
|
family: "mixtral",
|
|
1040
1204
|
pricing: [
|
|
1041
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.70", "output": "0.70", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "An older model generation still listed with a live price on the current pricing page as fetched."] }
|
|
1205
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.70", "output": "0.70", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05", "notes": ["Mistral's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "An older model generation still listed with a live price on the current pricing page as fetched.", "Not surfaced by the 2026-09-07 fetch of the same page, which listed only the Medium/Small/Large, Ministral, Codestral, embedding and third-party GLM entries. observedAt is deliberately left at 2026-08-05: the rate was not re-observed, and an absence in one page fetch is not evidence of a withdrawal. Re-check before relying on this entry."] }
|
|
1042
1206
|
],
|
|
1043
1207
|
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-08-05" }
|
|
1044
1208
|
},
|
|
1209
|
+
{
|
|
1210
|
+
canonicalId: "zai-glm-5-2",
|
|
1211
|
+
provider: "mistral",
|
|
1212
|
+
aliases: [],
|
|
1213
|
+
family: "glm",
|
|
1214
|
+
pricing: [
|
|
1215
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "1.40", "output": "4.40", "cachedInput": "0.14", "sourceUrl": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07", "notes": ["New entry: absent from this page on 2026-08-05, present on 2026-09-07. effectiveFrom is the observation date rather than this file's conservative 2026-01-01.", `Listed under "Third-Party Models" on Mistral's own pricing page - a Z.ai GLM model resold through La Plateforme, so this is Mistral's resale rate, not Z.ai's first-party rate.`, "All three rates are printed per-model on the page. No batch discount is stated for the third-party section, so batchMultiplier is omitted rather than assumed from the first-party models' 50%."] }
|
|
1216
|
+
],
|
|
1217
|
+
source: { "url": "https://mistral.ai/pricing/api", "observedAt": "2026-09-07" }
|
|
1218
|
+
},
|
|
1045
1219
|
{
|
|
1046
1220
|
canonicalId: "gpt-3.5-turbo",
|
|
1047
1221
|
provider: "openai",
|
|
1048
1222
|
aliases: [],
|
|
1049
1223
|
family: "gpt-3.5",
|
|
1050
1224
|
pricing: [
|
|
1051
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "1.50", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1225
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "1.50", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Found on https://developers.openai.com/api/docs/pricing during a second confirmation pass.", "No cached-input rate is published for gpt-3.5-turbo on the current pricing page; cachedInput is intentionally omitted rather than guessed.", "OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", `batchMultiplier is "0.5" per the pricing page's Batch API section, which states the 50% saving "applies to all text models listed above in the Standard table" - an explicit all-model statement, so the pro tiers are covered too.`] }
|
|
1052
1226
|
],
|
|
1053
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1227
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1054
1228
|
},
|
|
1055
1229
|
{
|
|
1056
1230
|
canonicalId: "gpt-4.1",
|
|
@@ -1058,9 +1232,9 @@ var MODEL_REGISTRY = [
|
|
|
1058
1232
|
aliases: [],
|
|
1059
1233
|
family: "gpt-4.1",
|
|
1060
1234
|
pricing: [
|
|
1061
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "8.00", "cachedInput": "0.50", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1235
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "8.00", "cachedInput": "0.50", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1062
1236
|
],
|
|
1063
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1237
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1064
1238
|
},
|
|
1065
1239
|
{
|
|
1066
1240
|
canonicalId: "gpt-4.1-mini",
|
|
@@ -1068,9 +1242,9 @@ var MODEL_REGISTRY = [
|
|
|
1068
1242
|
aliases: [],
|
|
1069
1243
|
family: "gpt-4.1",
|
|
1070
1244
|
pricing: [
|
|
1071
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.40", "output": "1.60", "cachedInput": "0.10", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1245
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.40", "output": "1.60", "cachedInput": "0.10", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1072
1246
|
],
|
|
1073
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1247
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1074
1248
|
},
|
|
1075
1249
|
{
|
|
1076
1250
|
canonicalId: "gpt-4.1-nano",
|
|
@@ -1078,9 +1252,9 @@ var MODEL_REGISTRY = [
|
|
|
1078
1252
|
aliases: [],
|
|
1079
1253
|
family: "gpt-4.1",
|
|
1080
1254
|
pricing: [
|
|
1081
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.10", "output": "0.40", "cachedInput": "0.025", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1255
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.10", "output": "0.40", "cachedInput": "0.025", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1082
1256
|
],
|
|
1083
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1257
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1084
1258
|
},
|
|
1085
1259
|
{
|
|
1086
1260
|
canonicalId: "gpt-4o",
|
|
@@ -1088,9 +1262,9 @@ var MODEL_REGISTRY = [
|
|
|
1088
1262
|
aliases: [],
|
|
1089
1263
|
family: "gpt-4o",
|
|
1090
1264
|
pricing: [
|
|
1091
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.50", "output": "10.00", "cachedInput": "1.25", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1265
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.50", "output": "10.00", "cachedInput": "1.25", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1092
1266
|
],
|
|
1093
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1267
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1094
1268
|
},
|
|
1095
1269
|
{
|
|
1096
1270
|
canonicalId: "gpt-4o-mini",
|
|
@@ -1098,9 +1272,9 @@ var MODEL_REGISTRY = [
|
|
|
1098
1272
|
aliases: [],
|
|
1099
1273
|
family: "gpt-4o",
|
|
1100
1274
|
pricing: [
|
|
1101
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.60", "cachedInput": "0.075", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1275
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.60", "cachedInput": "0.075", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1102
1276
|
],
|
|
1103
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1277
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1104
1278
|
},
|
|
1105
1279
|
{
|
|
1106
1280
|
canonicalId: "gpt-5",
|
|
@@ -1108,9 +1282,9 @@ var MODEL_REGISTRY = [
|
|
|
1108
1282
|
aliases: [],
|
|
1109
1283
|
family: "gpt-5",
|
|
1110
1284
|
pricing: [
|
|
1111
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.25", "output": "10.00", "cachedInput": "0.125", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1285
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.25", "output": "10.00", "cachedInput": "0.125", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model.", "Lead-supplied verified table (observed 2026-08-05) matches this rate exactly; independently re-confirmed against https://developers.openai.com/api/docs/pricing on the same date."] }
|
|
1112
1286
|
],
|
|
1113
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1287
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1114
1288
|
},
|
|
1115
1289
|
{
|
|
1116
1290
|
canonicalId: "gpt-5-mini",
|
|
@@ -1118,9 +1292,9 @@ var MODEL_REGISTRY = [
|
|
|
1118
1292
|
aliases: [],
|
|
1119
1293
|
family: "gpt-5",
|
|
1120
1294
|
pricing: [
|
|
1121
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.25", "output": "2.00", "cachedInput": "0.025", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1295
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.25", "output": "2.00", "cachedInput": "0.025", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1122
1296
|
],
|
|
1123
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1297
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1124
1298
|
},
|
|
1125
1299
|
{
|
|
1126
1300
|
canonicalId: "gpt-5-nano",
|
|
@@ -1128,9 +1302,9 @@ var MODEL_REGISTRY = [
|
|
|
1128
1302
|
aliases: [],
|
|
1129
1303
|
family: "gpt-5",
|
|
1130
1304
|
pricing: [
|
|
1131
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.05", "output": "0.40", "cachedInput": "0.005", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1305
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.05", "output": "0.40", "cachedInput": "0.005", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1132
1306
|
],
|
|
1133
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1307
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1134
1308
|
},
|
|
1135
1309
|
{
|
|
1136
1310
|
canonicalId: "gpt-5-pro",
|
|
@@ -1138,9 +1312,9 @@ var MODEL_REGISTRY = [
|
|
|
1138
1312
|
aliases: [],
|
|
1139
1313
|
family: "gpt-5",
|
|
1140
1314
|
pricing: [
|
|
1141
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "15.00", "output": "120.00", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1315
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "15.00", "output": "120.00", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ['No cached-input rate is published for gpt-5-pro (shown as "\u2014"); cachedInput is intentionally omitted rather than guessed.', "OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", `batchMultiplier is "0.5" per the pricing page's Batch API section, which states the 50% saving "applies to all text models listed above in the Standard table" - an explicit all-model statement, so the pro tiers are covered too.`] }
|
|
1142
1316
|
],
|
|
1143
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1317
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1144
1318
|
},
|
|
1145
1319
|
{
|
|
1146
1320
|
canonicalId: "gpt-5.1",
|
|
@@ -1148,9 +1322,9 @@ var MODEL_REGISTRY = [
|
|
|
1148
1322
|
aliases: [],
|
|
1149
1323
|
family: "gpt-5.1",
|
|
1150
1324
|
pricing: [
|
|
1151
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.25", "output": "10.00", "cachedInput": "0.125", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1325
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.25", "output": "10.00", "cachedInput": "0.125", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1152
1326
|
],
|
|
1153
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1327
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1154
1328
|
},
|
|
1155
1329
|
{
|
|
1156
1330
|
canonicalId: "gpt-5.2",
|
|
@@ -1158,9 +1332,9 @@ var MODEL_REGISTRY = [
|
|
|
1158
1332
|
aliases: [],
|
|
1159
1333
|
family: "gpt-5.2",
|
|
1160
1334
|
pricing: [
|
|
1161
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.75", "output": "14.00", "cachedInput": "0.175", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1335
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.75", "output": "14.00", "cachedInput": "0.175", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1162
1336
|
],
|
|
1163
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1337
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1164
1338
|
},
|
|
1165
1339
|
{
|
|
1166
1340
|
canonicalId: "gpt-5.2-pro",
|
|
@@ -1168,9 +1342,9 @@ var MODEL_REGISTRY = [
|
|
|
1168
1342
|
aliases: [],
|
|
1169
1343
|
family: "gpt-5.2",
|
|
1170
1344
|
pricing: [
|
|
1171
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "21.00", "output": "168.00", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1345
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "21.00", "output": "168.00", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ['No cached-input rate is published for gpt-5.2-pro (shown as "\u2014"); cachedInput is intentionally omitted rather than guessed.', "OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", `batchMultiplier is "0.5" per the pricing page's Batch API section, which states the 50% saving "applies to all text models listed above in the Standard table" - an explicit all-model statement, so the pro tiers are covered too.`] }
|
|
1172
1346
|
],
|
|
1173
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1347
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1174
1348
|
},
|
|
1175
1349
|
{
|
|
1176
1350
|
canonicalId: "gpt-5.4",
|
|
@@ -1178,9 +1352,9 @@ var MODEL_REGISTRY = [
|
|
|
1178
1352
|
aliases: [],
|
|
1179
1353
|
family: "gpt-5.4",
|
|
1180
1354
|
pricing: [
|
|
1181
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.50", "output": "15.00", "cachedInput": "0.25", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1355
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.50", "output": "15.00", "cachedInput": "0.25", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model.", 'The pricing page qualifies this rate as the "<272K" context tier. A higher tier above 272K tokens is implied by that label but no rate for it was published in the fetched table, and this schema has no context-length dimension, so only the <272K rate is recorded.'] }
|
|
1182
1356
|
],
|
|
1183
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1357
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1184
1358
|
},
|
|
1185
1359
|
{
|
|
1186
1360
|
canonicalId: "gpt-5.4-mini",
|
|
@@ -1188,9 +1362,9 @@ var MODEL_REGISTRY = [
|
|
|
1188
1362
|
aliases: [],
|
|
1189
1363
|
family: "gpt-5.4",
|
|
1190
1364
|
pricing: [
|
|
1191
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.75", "output": "4.50", "cachedInput": "0.075", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1365
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.75", "output": "4.50", "cachedInput": "0.075", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1192
1366
|
],
|
|
1193
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1367
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1194
1368
|
},
|
|
1195
1369
|
{
|
|
1196
1370
|
canonicalId: "gpt-5.4-nano",
|
|
@@ -1198,9 +1372,9 @@ var MODEL_REGISTRY = [
|
|
|
1198
1372
|
aliases: [],
|
|
1199
1373
|
family: "gpt-5.4",
|
|
1200
1374
|
pricing: [
|
|
1201
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.20", "output": "1.25", "cachedInput": "0.02", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1375
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.20", "output": "1.25", "cachedInput": "0.02", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1202
1376
|
],
|
|
1203
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1377
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1204
1378
|
},
|
|
1205
1379
|
{
|
|
1206
1380
|
canonicalId: "gpt-5.4-pro",
|
|
@@ -1208,9 +1382,9 @@ var MODEL_REGISTRY = [
|
|
|
1208
1382
|
aliases: [],
|
|
1209
1383
|
family: "gpt-5.4",
|
|
1210
1384
|
pricing: [
|
|
1211
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "30.00", "output": "180.00", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1385
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "30.00", "output": "180.00", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ['No cached-input rate is published for gpt-5.4-pro (shown as "\u2014"); cachedInput is intentionally omitted rather than guessed.', "OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", `batchMultiplier is "0.5" per the pricing page's Batch API section, which states the 50% saving "applies to all text models listed above in the Standard table" - an explicit all-model statement, so the pro tiers are covered too.`, 'The pricing page qualifies this rate as the "<272K" context tier. A higher tier above 272K tokens is implied by that label but no rate for it was published in the fetched table, and this schema has no context-length dimension, so only the <272K rate is recorded.'] }
|
|
1212
1386
|
],
|
|
1213
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1387
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1214
1388
|
},
|
|
1215
1389
|
{
|
|
1216
1390
|
canonicalId: "gpt-5.5",
|
|
@@ -1218,9 +1392,9 @@ var MODEL_REGISTRY = [
|
|
|
1218
1392
|
aliases: [],
|
|
1219
1393
|
family: "gpt-5.5",
|
|
1220
1394
|
pricing: [
|
|
1221
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "30.00", "cachedInput": "0.50", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1395
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "30.00", "cachedInput": "0.50", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model.", 'The pricing page qualifies this rate as the "<272K" context tier. A higher tier above 272K tokens is implied by that label but no rate for it was published in the fetched table, and this schema has no context-length dimension, so only the <272K rate is recorded.'] }
|
|
1222
1396
|
],
|
|
1223
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1397
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1224
1398
|
},
|
|
1225
1399
|
{
|
|
1226
1400
|
canonicalId: "gpt-5.5-pro",
|
|
@@ -1228,9 +1402,9 @@ var MODEL_REGISTRY = [
|
|
|
1228
1402
|
aliases: [],
|
|
1229
1403
|
family: "gpt-5.5",
|
|
1230
1404
|
pricing: [
|
|
1231
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "30.00", "output": "180.00", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1405
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "30.00", "output": "180.00", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ['No cached-input rate is published for gpt-5.5-pro (shown as "\u2014" on the pricing page); cachedInput is intentionally omitted rather than guessed.', "OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", `batchMultiplier is "0.5" per the pricing page's Batch API section, which states the 50% saving "applies to all text models listed above in the Standard table" - an explicit all-model statement, so the pro tiers are covered too.`, 'The pricing page qualifies this rate as the "<272K" context tier. A higher tier above 272K tokens is implied by that label but no rate for it was published in the fetched table, and this schema has no context-length dimension, so only the <272K rate is recorded.'] }
|
|
1232
1406
|
],
|
|
1233
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1407
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1234
1408
|
},
|
|
1235
1409
|
{
|
|
1236
1410
|
canonicalId: "gpt-5.6-luna",
|
|
@@ -1238,9 +1412,9 @@ var MODEL_REGISTRY = [
|
|
|
1238
1412
|
aliases: [],
|
|
1239
1413
|
family: "gpt-5.6",
|
|
1240
1414
|
pricing: [
|
|
1241
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.20", "output": "1.20", "cachedInput": "0.02", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1415
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.20", "output": "1.20", "cachedInput": "0.02", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1242
1416
|
],
|
|
1243
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1417
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1244
1418
|
},
|
|
1245
1419
|
{
|
|
1246
1420
|
canonicalId: "gpt-5.6-sol",
|
|
@@ -1248,9 +1422,10 @@ var MODEL_REGISTRY = [
|
|
|
1248
1422
|
aliases: [],
|
|
1249
1423
|
family: "gpt-5.6",
|
|
1250
1424
|
pricing: [
|
|
1251
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "30.00", "cachedInput": "0.50", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-08-05", "notes": [`OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date (this model's naming implies a later release, but a conservative too-early effectiveFrom only ever makes a historical lookup succeed when it should return "no period found", never the reverse).`, `batchMultiplier reflects OpenAI's general Batch API policy ("a 50% discount to Standard pricing rates across all models") as stated on the pricing page; not independently confirmed per-model
|
|
1425
|
+
{ "effectiveFrom": "2026-01-01", "effectiveTo": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "5.00", "output": "30.00", "cachedInput": "0.50", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-08-05", "notes": [`OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date (this model's naming implies a later release, but a conservative too-early effectiveFrom only ever makes a historical lookup succeed when it should return "no period found", never the reverse).`, `batchMultiplier reflects OpenAI's general Batch API policy ("a 50% discount to Standard pricing rates across all models") as stated on the pricing page; not independently confirmed per-model.`, "Closed on 2026-09-07: the pricing page published a lower rate (4.00 input / 20.00 output) on that date. The old rate was last confirmed 2026-08-05, so the true change date lies in (2026-08-05, 2026-09-07]; effectiveTo is the observation date, which keeps every confirmed observation correct and approximates only the unobserved gap, toward the last confirmed value."] },
|
|
1426
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "4.00", "output": "20.00", "cachedInput": "0.40", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Price cut observed on 2026-09-07: input 5.00 -> 4.00, output 30.00 -> 20.00, cached input 0.50 -> 0.40. OpenAI publishes no effective date, so effectiveFrom is the observation date rather than a guess at when the cut actually landed.", `batchMultiplier is "0.5" per the pricing page's Batch API section, which states the 50% saving "applies to all text models listed above in the Standard table" - an explicit all-model statement, so the pro tiers are covered too.`] }
|
|
1252
1427
|
],
|
|
1253
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1428
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1254
1429
|
},
|
|
1255
1430
|
{
|
|
1256
1431
|
canonicalId: "gpt-5.6-terra",
|
|
@@ -1258,9 +1433,19 @@ var MODEL_REGISTRY = [
|
|
|
1258
1433
|
aliases: [],
|
|
1259
1434
|
family: "gpt-5.6",
|
|
1260
1435
|
pricing: [
|
|
1261
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "12.00", "cachedInput": "0.20", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1436
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "12.00", "cachedInput": "0.20", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1437
|
+
],
|
|
1438
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1439
|
+
},
|
|
1440
|
+
{
|
|
1441
|
+
canonicalId: "gpt-6-astra",
|
|
1442
|
+
provider: "openai",
|
|
1443
|
+
aliases: [],
|
|
1444
|
+
family: "gpt-6",
|
|
1445
|
+
pricing: [
|
|
1446
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "10.00", "output": "50.00", "cachedInput": "1.00", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["New model: absent from the pricing page on 2026-08-05, present on 2026-09-07. effectiveFrom is the observation date rather than this file's usual conservative 2026-01-01 - the model demonstrably did not exist at that rate a month earlier, so backdating it would invent a period.", `batchMultiplier is "0.5" per the pricing page's Batch API section, which states the 50% saving "applies to all text models listed above in the Standard table" - an explicit all-model statement, so the pro tiers are covered too.`] }
|
|
1262
1447
|
],
|
|
1263
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1448
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1264
1449
|
},
|
|
1265
1450
|
{
|
|
1266
1451
|
canonicalId: "o1",
|
|
@@ -1268,9 +1453,9 @@ var MODEL_REGISTRY = [
|
|
|
1268
1453
|
aliases: [],
|
|
1269
1454
|
family: "o-series",
|
|
1270
1455
|
pricing: [
|
|
1271
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "15.00", "output": "60.00", "cachedInput": "7.50", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1456
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "15.00", "output": "60.00", "cachedInput": "7.50", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1272
1457
|
],
|
|
1273
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1458
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1274
1459
|
},
|
|
1275
1460
|
{
|
|
1276
1461
|
canonicalId: "o1-pro",
|
|
@@ -1278,9 +1463,9 @@ var MODEL_REGISTRY = [
|
|
|
1278
1463
|
aliases: [],
|
|
1279
1464
|
family: "o-series",
|
|
1280
1465
|
pricing: [
|
|
1281
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "150.00", "output": "600.00", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1466
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "150.00", "output": "600.00", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["Found on https://developers.openai.com/api/docs/pricing during a second confirmation pass.", 'No cached-input rate is published for o1-pro (shown as "\u2014"); cachedInput is intentionally omitted rather than guessed.', "OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", `batchMultiplier is "0.5" per the pricing page's Batch API section, which states the 50% saving "applies to all text models listed above in the Standard table" - an explicit all-model statement, so the pro tiers are covered too.`] }
|
|
1282
1467
|
],
|
|
1283
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1468
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1284
1469
|
},
|
|
1285
1470
|
{
|
|
1286
1471
|
canonicalId: "o3",
|
|
@@ -1288,9 +1473,9 @@ var MODEL_REGISTRY = [
|
|
|
1288
1473
|
aliases: [],
|
|
1289
1474
|
family: "o-series",
|
|
1290
1475
|
pricing: [
|
|
1291
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "8.00", "cachedInput": "0.50", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1476
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "8.00", "cachedInput": "0.50", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1292
1477
|
],
|
|
1293
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1478
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1294
1479
|
},
|
|
1295
1480
|
{
|
|
1296
1481
|
canonicalId: "o3-mini",
|
|
@@ -1298,9 +1483,9 @@ var MODEL_REGISTRY = [
|
|
|
1298
1483
|
aliases: [],
|
|
1299
1484
|
family: "o-series",
|
|
1300
1485
|
pricing: [
|
|
1301
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.10", "output": "4.40", "cachedInput": "0.55", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1486
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.10", "output": "4.40", "cachedInput": "0.55", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1302
1487
|
],
|
|
1303
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1488
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1304
1489
|
},
|
|
1305
1490
|
{
|
|
1306
1491
|
canonicalId: "o3-pro",
|
|
@@ -1308,9 +1493,9 @@ var MODEL_REGISTRY = [
|
|
|
1308
1493
|
aliases: [],
|
|
1309
1494
|
family: "o-series",
|
|
1310
1495
|
pricing: [
|
|
1311
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "20.00", "output": "80.00", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1496
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "20.00", "output": "80.00", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ['No cached-input rate is published for o3-pro (shown as "\u2014"); cachedInput is intentionally omitted rather than guessed.', "OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", `batchMultiplier is "0.5" per the pricing page's Batch API section, which states the 50% saving "applies to all text models listed above in the Standard table" - an explicit all-model statement, so the pro tiers are covered too.`] }
|
|
1312
1497
|
],
|
|
1313
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1498
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1314
1499
|
},
|
|
1315
1500
|
{
|
|
1316
1501
|
canonicalId: "o4-mini",
|
|
@@ -1318,9 +1503,9 @@ var MODEL_REGISTRY = [
|
|
|
1318
1503
|
aliases: [],
|
|
1319
1504
|
family: "o-series",
|
|
1320
1505
|
pricing: [
|
|
1321
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.10", "output": "4.40", "cachedInput": "0.275", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1506
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.10", "output": "4.40", "cachedInput": "0.275", "batchMultiplier": "0.5", "sourceUrl": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07", "notes": ["OpenAI's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01 pending confirmation of the true rollout date.", "batchMultiplier reflects OpenAI's general Batch API policy as stated on the pricing page; not independently confirmed per-model."] }
|
|
1322
1507
|
],
|
|
1323
|
-
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-
|
|
1508
|
+
source: { "url": "https://developers.openai.com/api/docs/pricing", "observedAt": "2026-09-07" }
|
|
1324
1509
|
},
|
|
1325
1510
|
{
|
|
1326
1511
|
canonicalId: "anthropic/claude-sonnet-5",
|
|
@@ -1328,9 +1513,9 @@ var MODEL_REGISTRY = [
|
|
|
1328
1513
|
aliases: [],
|
|
1329
1514
|
family: "anthropic-proxy",
|
|
1330
1515
|
pricing: [
|
|
1331
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "10.00", "sourceUrl": "https://openrouter.ai/anthropic/claude-sonnet-5", "observedAt": "2026-
|
|
1516
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "10.00", "cachedInput": "0.20", "cacheWrite": "2.50", "sourceUrl": "https://openrouter.ai/anthropic/claude-sonnet-5", "observedAt": "2026-09-07", "notes": ["Recorded 2026-08-05 flagged UNCERTAIN: $2.00/$10.00 matched what anthropic.json then held as an introductory rate expiring 2026-08-31, so it was unclear whether OpenRouter had simply not updated its listing. Resolved on 2026-09-07 - Anthropic's pricing page states the scheduled $3.00/$15.00 increase will not occur and $2.00/$10.00 is the standard rate, so this listing was correct all along and the flag is withdrawn.", "OpenRouter's per-model page does not publish an effective date; effectiveFrom is set conservatively to 2026-01-01.", `canonicalId uses OpenRouter's own slug format, deliberately distinct from Anthropic's first-party canonicalId "claude-sonnet-5" (anthropic.json) to avoid a canonicalId collision; this is a legitimate cross-provider situation, not an error.`, "Re-confirmed unchanged on 2026-09-07 against the same model page.", "cachedInput added on 2026-09-07: the model page now prints a Cache Read rate of 0.20 per million tokens for this model.", "cacheWrite added on 2026-09-07: the model page prints a 5-minute Cache Write rate of 2.50 per million tokens (and $4.00 for the 1-hour TTL, which this single-field schema does not model).", "Resolves the 2026-08-05 caveat on this entry: $2.00/$10.00 was flagged as possibly Anthropic's introductory rate, due to be superseded by $3.00/$15.00 on 2026-09-01. Anthropic's own pricing page now states that increase will not occur and $2.00/$10.00 is the standard rate, so OpenRouter's rate matches the first-party standard rate, not a stale introductory one.", "The page notes Google Vertex (US/Europe) and Amazon Bedrock (US) upstreams charge $2.20/$11.00 through OpenRouter; the default cross-provider rate is recorded, since this schema has no upstream dimension."] }
|
|
1332
1517
|
],
|
|
1333
|
-
source: { "url": "https://openrouter.ai/anthropic/claude-sonnet-5", "observedAt": "2026-
|
|
1518
|
+
source: { "url": "https://openrouter.ai/anthropic/claude-sonnet-5", "observedAt": "2026-09-07" }
|
|
1334
1519
|
},
|
|
1335
1520
|
{
|
|
1336
1521
|
canonicalId: "google/gemini-3.1-pro-preview",
|
|
@@ -1338,9 +1523,9 @@ var MODEL_REGISTRY = [
|
|
|
1338
1523
|
aliases: [],
|
|
1339
1524
|
family: "google-proxy",
|
|
1340
1525
|
pricing: [
|
|
1341
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "12.00", "cheapestTier": true, "sourceUrl": "https://openrouter.ai/google/gemini-3.1-pro-preview", "observedAt": "2026-
|
|
1526
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "12.00", "cachedInput": "0.20", "cheapestTier": true, "sourceUrl": "https://openrouter.ai/google/gemini-3.1-pro-preview", "observedAt": "2026-09-07", "notes": ["OpenRouter's per-model page does not publish an effective date; effectiveFrom is set conservatively to 2026-01-01.", "Matches Google's own first-party <=200k-token-tier rate for gemini-3.1-pro-preview ($2.00/$12.00, see google.json) exactly as observed. Google's >200k-token tier ($4.00/$18.00) is not represented here (or, evidently, distinguished by OpenRouter's listing either) \u2014 same context-length-tiering limitation as google.json.", `canonicalId uses OpenRouter's own slug format, deliberately distinct from Google's first-party canonicalId "gemini-3.1-pro-preview" (google.json).`, "Re-confirmed unchanged on 2026-09-07 against the same model page.", "cachedInput added on 2026-09-07: the model page now prints a Cache Read rate of 0.20 per million tokens for this model."] }
|
|
1342
1527
|
],
|
|
1343
|
-
source: { "url": "https://openrouter.ai/google/gemini-3.1-pro-preview", "observedAt": "2026-
|
|
1528
|
+
source: { "url": "https://openrouter.ai/google/gemini-3.1-pro-preview", "observedAt": "2026-09-07" }
|
|
1344
1529
|
},
|
|
1345
1530
|
{
|
|
1346
1531
|
canonicalId: "meta-llama/llama-3.3-70b-instruct",
|
|
@@ -1348,9 +1533,9 @@ var MODEL_REGISTRY = [
|
|
|
1348
1533
|
aliases: [],
|
|
1349
1534
|
family: "meta-proxy",
|
|
1350
1535
|
pricing: [
|
|
1351
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.10", "output": "0.32", "sourceUrl": "https://openrouter.ai/meta-llama/llama-3.3-70b-instruct", "observedAt": "2026-
|
|
1536
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.10", "output": "0.32", "sourceUrl": "https://openrouter.ai/meta-llama/llama-3.3-70b-instruct", "observedAt": "2026-09-07", "notes": ["OpenRouter's per-model page does not publish an effective date; effectiveFrom is set conservatively to 2026-01-01.", `Meta does not sell first-party API access to Llama, so there is no first-party "llama-3.3-70b" entry in this registry to compare against; Groq (groq.json: llama-3.3-70b-versatile, $0.59/$0.79) and Together AI (together.json: llama-3.3-70b, $1.04/$1.04) each host the same open-weight model at their own, different rates. OpenRouter's rate here is the lowest of the three observed, plausibly because OpenRouter itself proxies to one of several underlying hosts and shows a blended/lowest-cost route; not independently confirmed which underlying host this routes to.`, "Re-confirmed unchanged on 2026-09-07 against the same model page.", 'The page labels this "the average price customers actually pay" and warns caching and discounts often put the effective price below it; recorded as printed.'] }
|
|
1352
1537
|
],
|
|
1353
|
-
source: { "url": "https://openrouter.ai/meta-llama/llama-3.3-70b-instruct", "observedAt": "2026-
|
|
1538
|
+
source: { "url": "https://openrouter.ai/meta-llama/llama-3.3-70b-instruct", "observedAt": "2026-09-07" }
|
|
1354
1539
|
},
|
|
1355
1540
|
{
|
|
1356
1541
|
canonicalId: "openai/gpt-5",
|
|
@@ -1358,9 +1543,19 @@ var MODEL_REGISTRY = [
|
|
|
1358
1543
|
aliases: [],
|
|
1359
1544
|
family: "openai-proxy",
|
|
1360
1545
|
pricing: [
|
|
1361
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.25", "output": "10.00", "sourceUrl": "https://openrouter.ai/openai/gpt-5", "observedAt": "2026-
|
|
1546
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.25", "output": "10.00", "cachedInput": "0.125", "sourceUrl": "https://openrouter.ai/openai/gpt-5", "observedAt": "2026-09-07", "notes": ["OpenRouter's per-model page does not publish an effective date; effectiveFrom is set conservatively to 2026-01-01.", "Matches OpenAI's own first-party rate for gpt-5 ($1.25/$10.00, see openai.json) exactly as observed \u2014 no markup detected for this model.", `canonicalId uses OpenRouter's own slug format ("openai/gpt-5"), deliberately distinct from OpenAI's first-party canonicalId "gpt-5" (openai.json) \u2014 this avoids a canonicalId collision while still allowing a cross-provider alias collision if a caller looks up the bare id "gpt-5" without a provider qualifier; no bare "gpt-5" alias was added to this entry to keep that surface area minimal.`, "Re-confirmed unchanged on 2026-09-07 against the same model page.", "cachedInput added on 2026-09-07: the model page now prints a Cache Read rate of 0.125 per million tokens for this model."] }
|
|
1362
1547
|
],
|
|
1363
|
-
source: { "url": "https://openrouter.ai/openai/gpt-5", "observedAt": "2026-
|
|
1548
|
+
source: { "url": "https://openrouter.ai/openai/gpt-5", "observedAt": "2026-09-07" }
|
|
1549
|
+
},
|
|
1550
|
+
{
|
|
1551
|
+
canonicalId: "deepseek-v4-flash-0731",
|
|
1552
|
+
provider: "together",
|
|
1553
|
+
aliases: [],
|
|
1554
|
+
family: "deepseek",
|
|
1555
|
+
pricing: [
|
|
1556
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "0.14", "output": "0.28", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Added from the 2026-09-07 fetch. effectiveFrom is the observation date rather than this file's conservative 2026-01-01, since the 2026-08-05 fetch of the same page did not list it.", "Together publishes no cached-input rate or batch discount for serverless models; both fields are omitted rather than guessed."] }
|
|
1557
|
+
],
|
|
1558
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1364
1559
|
},
|
|
1365
1560
|
{
|
|
1366
1561
|
canonicalId: "deepseek-v4-pro",
|
|
@@ -1368,19 +1563,29 @@ var MODEL_REGISTRY = [
|
|
|
1368
1563
|
aliases: [],
|
|
1369
1564
|
family: "deepseek",
|
|
1370
1565
|
pricing: [
|
|
1371
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.74", "output": "3.48", "cachedInput": "0.20", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-08-05", "notes": ["Together's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01."] }
|
|
1566
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.74", "output": "3.48", "cachedInput": "0.20", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-08-05", "notes": ["Together's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", 'Not re-confirmed on 2026-09-07: that fetch listed "DeepSeek V4 Pro 0813" at $1.32 / $3.96 and no undated "DeepSeek V4 Pro" row. Whether the dated build is this same model repriced or a separate snapshot is not stated on the page, so this entry keeps its 2026-08-05 rate and the dated build is recorded separately as deepseek-v4-pro-0813 rather than silently overwriting this one.'] }
|
|
1372
1567
|
],
|
|
1373
1568
|
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-08-05" }
|
|
1374
1569
|
},
|
|
1570
|
+
{
|
|
1571
|
+
canonicalId: "deepseek-v4-pro-0813",
|
|
1572
|
+
provider: "together",
|
|
1573
|
+
aliases: [],
|
|
1574
|
+
family: "deepseek",
|
|
1575
|
+
pricing: [
|
|
1576
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "1.32", "output": "3.96", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Dated build listed on the page on 2026-09-07; see deepseek-v4-pro's notes for why it is a separate entry rather than a reprice of that one.", "Added from the 2026-09-07 fetch. effectiveFrom is the observation date rather than this file's conservative 2026-01-01, since the 2026-08-05 fetch of the same page did not list it.", "Together publishes no cached-input rate or batch discount for serverless models; both fields are omitted rather than guessed."] }
|
|
1577
|
+
],
|
|
1578
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1579
|
+
},
|
|
1375
1580
|
{
|
|
1376
1581
|
canonicalId: "gemma-4-31b",
|
|
1377
1582
|
provider: "together",
|
|
1378
1583
|
aliases: [],
|
|
1379
1584
|
family: "gemma",
|
|
1380
1585
|
pricing: [
|
|
1381
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.39", "output": "0.97", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1586
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.39", "output": "0.97", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Together's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", 'Cross-provider alias/canonicalId collision (allowed, not an error): AWS Bedrock also lists "Gemma 4 31B" (aws-bedrock.json: gemma-4-31b) at a different, lower rate ($0.14/$0.40 as observed on Bedrock) \u2014 same underlying Google open-weight model, independently priced by each reseller; do not assume parity.', "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
1382
1587
|
],
|
|
1383
|
-
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1588
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1384
1589
|
},
|
|
1385
1590
|
{
|
|
1386
1591
|
canonicalId: "glm-5.2",
|
|
@@ -1388,9 +1593,29 @@ var MODEL_REGISTRY = [
|
|
|
1388
1593
|
aliases: [],
|
|
1389
1594
|
family: "glm",
|
|
1390
1595
|
pricing: [
|
|
1391
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.40", "output": "4.40", "cachedInput": "0.26", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1596
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.40", "output": "4.40", "cachedInput": "0.26", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Together's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
1392
1597
|
],
|
|
1393
|
-
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1598
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1599
|
+
},
|
|
1600
|
+
{
|
|
1601
|
+
canonicalId: "glm-5.3",
|
|
1602
|
+
provider: "together",
|
|
1603
|
+
aliases: [],
|
|
1604
|
+
family: "glm",
|
|
1605
|
+
pricing: [
|
|
1606
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "1.40", "output": "4.40", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Added from the 2026-09-07 fetch. effectiveFrom is the observation date rather than this file's conservative 2026-01-01, since the 2026-08-05 fetch of the same page did not list it.", "Together publishes no cached-input rate or batch discount for serverless models; both fields are omitted rather than guessed."] }
|
|
1607
|
+
],
|
|
1608
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1609
|
+
},
|
|
1610
|
+
{
|
|
1611
|
+
canonicalId: "glm-5.3-flash",
|
|
1612
|
+
provider: "together",
|
|
1613
|
+
aliases: [],
|
|
1614
|
+
family: "glm",
|
|
1615
|
+
pricing: [
|
|
1616
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.50", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Added from the 2026-09-07 fetch. effectiveFrom is the observation date rather than this file's conservative 2026-01-01, since the 2026-08-05 fetch of the same page did not list it.", "Together publishes no cached-input rate or batch discount for serverless models; both fields are omitted rather than guessed."] }
|
|
1617
|
+
],
|
|
1618
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1394
1619
|
},
|
|
1395
1620
|
{
|
|
1396
1621
|
canonicalId: "gpt-oss-120b",
|
|
@@ -1398,9 +1623,9 @@ var MODEL_REGISTRY = [
|
|
|
1398
1623
|
aliases: [],
|
|
1399
1624
|
family: "gpt-oss",
|
|
1400
1625
|
pricing: [
|
|
1401
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.60", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1626
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.60", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Together's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", 'Cross-provider alias/canonicalId collision (allowed, not an error): Groq also publishes a model with canonicalId "gpt-oss-120b" (groq.json), independently priced at the same $0.15/$0.60 figure as observed. The identical string "gpt-oss-120b" is used as the canonicalId on both providers because that is the actual model name each provider publishes; resolving "gpt-oss-120b" without a provider qualifier is ambiguous across providers by design and the resolver requires a provider qualifier to disambiguate it.', "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
1402
1627
|
],
|
|
1403
|
-
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1628
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1404
1629
|
},
|
|
1405
1630
|
{
|
|
1406
1631
|
canonicalId: "gpt-oss-20b",
|
|
@@ -1408,7 +1633,7 @@ var MODEL_REGISTRY = [
|
|
|
1408
1633
|
aliases: [],
|
|
1409
1634
|
family: "gpt-oss",
|
|
1410
1635
|
pricing: [
|
|
1411
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.05", "output": "0.20", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-08-05", "notes": ["Together's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", 'Cross-provider alias/canonicalId collision (allowed, not an error): Groq also publishes "gpt-oss-20b" (groq.json) at a different rate ($0.075/$0.30 as observed) \u2014 same model name, independently priced by each host; do not assume parity.'] }
|
|
1636
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.05", "output": "0.20", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-08-05", "notes": ["Together's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", 'Cross-provider alias/canonicalId collision (allowed, not an error): Groq also publishes "gpt-oss-20b" (groq.json) at a different rate ($0.075/$0.30 as observed) \u2014 same model name, independently priced by each host; do not assume parity.', "Not surfaced by the 2026-09-07 fetch of the same page. observedAt is deliberately left at 2026-08-05: the rate was not re-observed, and an absence in one page fetch is not evidence of a withdrawal."] }
|
|
1412
1637
|
],
|
|
1413
1638
|
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-08-05" }
|
|
1414
1639
|
},
|
|
@@ -1418,9 +1643,19 @@ var MODEL_REGISTRY = [
|
|
|
1418
1643
|
aliases: [],
|
|
1419
1644
|
family: "kimi",
|
|
1420
1645
|
pricing: [
|
|
1421
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "3.00", "output": "15.00", "cachedInput": "0.30", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1646
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "3.00", "output": "15.00", "cachedInput": "0.30", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Together's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
1422
1647
|
],
|
|
1423
|
-
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1648
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1649
|
+
},
|
|
1650
|
+
{
|
|
1651
|
+
canonicalId: "llama-3-8b-instruct-lite",
|
|
1652
|
+
provider: "together",
|
|
1653
|
+
aliases: [],
|
|
1654
|
+
family: "llama",
|
|
1655
|
+
pricing: [
|
|
1656
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "0.14", "output": "0.14", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Added from the 2026-09-07 fetch. effectiveFrom is the observation date rather than this file's conservative 2026-01-01, since the 2026-08-05 fetch of the same page did not list it.", "Together publishes no cached-input rate or batch discount for serverless models; both fields are omitted rather than guessed."] }
|
|
1657
|
+
],
|
|
1658
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1424
1659
|
},
|
|
1425
1660
|
{
|
|
1426
1661
|
canonicalId: "llama-3.3-70b",
|
|
@@ -1428,9 +1663,9 @@ var MODEL_REGISTRY = [
|
|
|
1428
1663
|
aliases: [],
|
|
1429
1664
|
family: "llama-3.3",
|
|
1430
1665
|
pricing: [
|
|
1431
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.04", "output": "1.04", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1666
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.04", "output": "1.04", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Together's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Also hosted by Groq (groq.json: llama-3.3-70b-versatile, $0.59/$0.79) and resold by AWS Bedrock \u2014 each host prices this same open-weight model independently; do not assume parity across providers.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
1432
1667
|
],
|
|
1433
|
-
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1668
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1434
1669
|
},
|
|
1435
1670
|
{
|
|
1436
1671
|
canonicalId: "minimax-m3",
|
|
@@ -1438,9 +1673,19 @@ var MODEL_REGISTRY = [
|
|
|
1438
1673
|
aliases: [],
|
|
1439
1674
|
family: "minimax",
|
|
1440
1675
|
pricing: [
|
|
1441
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.30", "output": "1.20", "cachedInput": "0.06", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1676
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.30", "output": "1.20", "cachedInput": "0.06", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Together's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
1442
1677
|
],
|
|
1443
|
-
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1678
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1679
|
+
},
|
|
1680
|
+
{
|
|
1681
|
+
canonicalId: "qwen2.5-7b-instruct-turbo",
|
|
1682
|
+
provider: "together",
|
|
1683
|
+
aliases: [],
|
|
1684
|
+
family: "qwen",
|
|
1685
|
+
pricing: [
|
|
1686
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "0.30", "output": "0.30", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Added from the 2026-09-07 fetch. effectiveFrom is the observation date rather than this file's conservative 2026-01-01, since the 2026-08-05 fetch of the same page did not list it.", "Together publishes no cached-input rate or batch discount for serverless models; both fields are omitted rather than guessed."] }
|
|
1687
|
+
],
|
|
1688
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1444
1689
|
},
|
|
1445
1690
|
{
|
|
1446
1691
|
canonicalId: "qwen3.5-397b-a17b",
|
|
@@ -1448,9 +1693,29 @@ var MODEL_REGISTRY = [
|
|
|
1448
1693
|
aliases: [],
|
|
1449
1694
|
family: "qwen",
|
|
1450
1695
|
pricing: [
|
|
1451
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.60", "output": "3.60", "cachedInput": "0.35", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1696
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "0.60", "output": "3.60", "cachedInput": "0.35", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Together's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
1452
1697
|
],
|
|
1453
|
-
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1698
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1699
|
+
},
|
|
1700
|
+
{
|
|
1701
|
+
canonicalId: "qwen3.5-9b",
|
|
1702
|
+
provider: "together",
|
|
1703
|
+
aliases: [],
|
|
1704
|
+
family: "qwen",
|
|
1705
|
+
pricing: [
|
|
1706
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "0.17", "output": "0.25", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Added from the 2026-09-07 fetch. effectiveFrom is the observation date rather than this file's conservative 2026-01-01, since the 2026-08-05 fetch of the same page did not list it.", "Together publishes no cached-input rate or batch discount for serverless models; both fields are omitted rather than guessed."] }
|
|
1707
|
+
],
|
|
1708
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1709
|
+
},
|
|
1710
|
+
{
|
|
1711
|
+
canonicalId: "qwen3.6-plus",
|
|
1712
|
+
provider: "together",
|
|
1713
|
+
aliases: [],
|
|
1714
|
+
family: "qwen",
|
|
1715
|
+
pricing: [
|
|
1716
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "0.50", "output": "3.00", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Added from the 2026-09-07 fetch. effectiveFrom is the observation date rather than this file's conservative 2026-01-01, since the 2026-08-05 fetch of the same page did not list it.", "Together publishes no cached-input rate or batch discount for serverless models; both fields are omitted rather than guessed."] }
|
|
1717
|
+
],
|
|
1718
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1454
1719
|
},
|
|
1455
1720
|
{
|
|
1456
1721
|
canonicalId: "qwen3.7-max",
|
|
@@ -1458,9 +1723,39 @@ var MODEL_REGISTRY = [
|
|
|
1458
1723
|
aliases: [],
|
|
1459
1724
|
family: "qwen",
|
|
1460
1725
|
pricing: [
|
|
1461
|
-
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.25", "output": "3.75", "cachedInput": "0.13", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1726
|
+
{ "effectiveFrom": "2026-01-01", "currency": "USD", "unit": "per-million-tokens", "input": "1.25", "output": "3.75", "cachedInput": "0.13", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Together's pricing page does not publish an effective date for this rate; effectiveFrom is set conservatively to 2026-01-01.", "Re-confirmed unchanged on 2026-09-07 against the same page."] }
|
|
1462
1727
|
],
|
|
1463
|
-
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-
|
|
1728
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1729
|
+
},
|
|
1730
|
+
{
|
|
1731
|
+
canonicalId: "qwen3.7-plus",
|
|
1732
|
+
provider: "together",
|
|
1733
|
+
aliases: [],
|
|
1734
|
+
family: "qwen",
|
|
1735
|
+
pricing: [
|
|
1736
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "0.32", "output": "1.28", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Added from the 2026-09-07 fetch. effectiveFrom is the observation date rather than this file's conservative 2026-01-01, since the 2026-08-05 fetch of the same page did not list it.", "Together publishes no cached-input rate or batch discount for serverless models; both fields are omitted rather than guessed."] }
|
|
1737
|
+
],
|
|
1738
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1739
|
+
},
|
|
1740
|
+
{
|
|
1741
|
+
canonicalId: "qwen3.8-2.4t-a95b",
|
|
1742
|
+
provider: "together",
|
|
1743
|
+
aliases: [],
|
|
1744
|
+
family: "qwen",
|
|
1745
|
+
pricing: [
|
|
1746
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "2.00", "output": "6.00", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Added from the 2026-09-07 fetch. effectiveFrom is the observation date rather than this file's conservative 2026-01-01, since the 2026-08-05 fetch of the same page did not list it.", "Together publishes no cached-input rate or batch discount for serverless models; both fields are omitted rather than guessed."] }
|
|
1747
|
+
],
|
|
1748
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1749
|
+
},
|
|
1750
|
+
{
|
|
1751
|
+
canonicalId: "qwen3.8-flash",
|
|
1752
|
+
provider: "together",
|
|
1753
|
+
aliases: [],
|
|
1754
|
+
family: "qwen",
|
|
1755
|
+
pricing: [
|
|
1756
|
+
{ "effectiveFrom": "2026-09-07", "currency": "USD", "unit": "per-million-tokens", "input": "0.15", "output": "0.47", "sourceUrl": "https://www.together.ai/pricing", "observedAt": "2026-09-07", "notes": ["Added from the 2026-09-07 fetch. effectiveFrom is the observation date rather than this file's conservative 2026-01-01, since the 2026-08-05 fetch of the same page did not list it.", "Together publishes no cached-input rate or batch discount for serverless models; both fields are omitted rather than guessed."] }
|
|
1757
|
+
],
|
|
1758
|
+
source: { "url": "https://www.together.ai/pricing", "observedAt": "2026-09-07" }
|
|
1464
1759
|
}
|
|
1465
1760
|
];
|
|
1466
1761
|
|