From 1a600599a15de0476acf53291eaf558d3f652ebc Mon Sep 17 00:00:00 2001 From: Katia Bulatova Date: Wed, 22 Jul 2026 06:48:24 +0000 Subject: [PATCH 01/14] feat(webapp): unconfigured billing limit UX and default billing alerts - Billing limit form starts with no option selected and no save button until the user picks one (unconfigured orgs only) - Show the yellow no-limit banner on the billing-limits page itself with explanatory text and no action button - Seed default billing alerts ($5, $100, $500, $1000, $2500) for orgs without any, lazily on page load plus an admin backfill endpoint --- .server-changes/default-billing-alerts.md | 6 + .../billing/BillingLimitConfigSection.tsx | 38 ++++--- .../app/components/billing/OrgBanner.tsx | 18 ++- .../route.tsx | 22 +++- .../admin.api.v1.billing-alerts.backfill.ts | 25 ++++ .../billingAlertsBackfiller.server.ts | 107 ++++++++++++++++++ .../services/billingAlertsDefaults.server.ts | 41 +++++++ 7 files changed, 233 insertions(+), 24 deletions(-) create mode 100644 .server-changes/default-billing-alerts.md create mode 100644 apps/webapp/app/routes/admin.api.v1.billing-alerts.backfill.ts create mode 100644 apps/webapp/app/services/billingAlertsBackfiller.server.ts create mode 100644 apps/webapp/app/services/billingAlertsDefaults.server.ts diff --git a/.server-changes/default-billing-alerts.md b/.server-changes/default-billing-alerts.md new file mode 100644 index 00000000000..bec476663f7 --- /dev/null +++ b/.server-changes/default-billing-alerts.md @@ -0,0 +1,6 @@ +--- +area: webapp +type: improvement +--- + +Organizations without billing alerts now get sensible default spend alert thresholds automatically, so you're notified before usage grows unexpectedly. You can adjust or remove them anytime in billing settings. diff --git a/apps/webapp/app/components/billing/BillingLimitConfigSection.tsx b/apps/webapp/app/components/billing/BillingLimitConfigSection.tsx index c69d6f0c175..bd3950ec581 100644 --- a/apps/webapp/app/components/billing/BillingLimitConfigSection.tsx +++ b/apps/webapp/app/components/billing/BillingLimitConfigSection.tsx @@ -51,10 +51,15 @@ type BillingLimitActionData = { export function isBillingLimitFormDirty(input: { billingLimit: BillingLimitResult; - mode: "none" | "plan" | "custom"; + mode: "" | "none" | "plan" | "custom"; customAmount: string; cancelInProgressRuns: boolean; }): boolean { + // No mode selected yet (unconfigured limit) — nothing to save. + if (input.mode === "") { + return false; + } + const needsInitialSave = !input.billingLimit.isConfigured; const savedMode = getBillingLimitMode(input.billingLimit); const savedCustomAmount = @@ -75,7 +80,7 @@ export function isBillingLimitFormDirty(input: { export function getBillingLimitFormLastSubmission( submission: BillingLimitActionData["submission"] | undefined, - mode: "none" | "plan" | "custom", + mode: "" | "none" | "plan" | "custom", isDirty: boolean ) { if (!isDirty || !submission) { @@ -111,17 +116,20 @@ export function BillingLimitConfigSection({ : ""; const savedCancelInProgressRuns = billingLimit.isConfigured && billingLimit.cancelInProgressRuns; - const [mode, setMode] = useState<"none" | "plan" | "custom">(savedMode); + // When no limit is configured yet, start with no radio option selected. + const resetMode: "" | "none" | "plan" | "custom" = billingLimit.isConfigured ? savedMode : ""; + + const [mode, setMode] = useState<"" | "none" | "plan" | "custom">(resetMode); const [customAmount, setCustomAmount] = useState(savedCustomAmount); const [cancelInProgressRuns, setCancelInProgressRuns] = useState(savedCancelInProgressRuns); const customAmountInputRef = useRef(null); const formRef = useRef(null); useEffect(() => { - setMode(savedMode); + setMode(resetMode); setCustomAmount(savedCustomAmount); setCancelInProgressRuns(savedCancelInProgressRuns); - }, [savedMode, savedCustomAmount, savedCancelInProgressRuns]); + }, [resetMode, savedCustomAmount, savedCancelInProgressRuns]); function handleModeChange(value: string) { const nextMode = value as typeof mode; @@ -283,7 +291,7 @@ export function BillingLimitConfigSection({ - {mode !== "none" && ( + {(mode === "plan" || mode === "custom") && ( )} - - Save billing limit - - } - /> + {mode !== "" && ( + + Save billing limit + + } + /> + )} diff --git a/apps/webapp/app/components/billing/OrgBanner.tsx b/apps/webapp/app/components/billing/OrgBanner.tsx index df86f1471f7..ffe0e75df9a 100644 --- a/apps/webapp/app/components/billing/OrgBanner.tsx +++ b/apps/webapp/app/components/billing/OrgBanner.tsx @@ -63,7 +63,9 @@ export function OrgBanner() { case OrgBannerKind.LimitGrace: return hideBillingLimitBanner ? null : ; case OrgBannerKind.NoLimitConfigured: - return hideBillingLimitBanner ? null : ; + // On the billing-limits page we still surface the warning, but without the + // "Configure billing limit" action — the form is already on the page. + return ; case OrgBannerKind.Upgrade: return organization ? : null; case OrgBannerKind.EnvironmentWarning: @@ -141,25 +143,29 @@ function LimitGraceBanner() { ); } -function NoLimitConfiguredBanner() { +function NoLimitConfiguredBanner({ onBillingLimitsPage }: { onBillingLimitsPage: boolean }) { const organization = useOrganization(); const canManageBillingLimits = useCanManageBillingLimits(); + const message = canManageBillingLimits + ? onBillingLimitsPage + ? "Please configure a billing limit to protect your organization from unexpected usage spikes." + : "Protect your organization from unexpected usage spikes." + : "Billing limits are not configured for this organization. Contact an organization administrator to configure them."; + return ( Configure billing limit ) : undefined } > - {canManageBillingLimits - ? "Protect your organization from unexpected usage spikes." - : "Billing limits are not configured for this organization. Contact an organization administrator to configure them."} + {message} ); } diff --git a/apps/webapp/app/routes/_app.orgs.$organizationSlug.settings.billing-limits/route.tsx b/apps/webapp/app/routes/_app.orgs.$organizationSlug.settings.billing-limits/route.tsx index a7790c4ee48..2e3c5e492d5 100644 --- a/apps/webapp/app/routes/_app.orgs.$organizationSlug.settings.billing-limits/route.tsx +++ b/apps/webapp/app/routes/_app.orgs.$organizationSlug.settings.billing-limits/route.tsx @@ -24,6 +24,10 @@ import { thresholdValuesAreUnique, } from "~/components/billing/billingAlertsFormat"; import { getSuggestedRecoveryLimitDollars } from "~/components/billing/billingLimitFormat"; +import { + billingAlertsLookUnconfigured, + buildDefaultBillingAlerts, +} from "~/services/billingAlertsDefaults.server"; import { BillingLimitConfigSection, billingLimitFormSchema, @@ -126,15 +130,25 @@ export const loader = dashboardLoader( }); } - const [alertsError, alerts] = await tryCatch(getBillingAlerts(organization.id)); - if (alertsError || !alerts) { + const planLimitCents = currentPlan?.v3Subscription?.plan?.limits.includedUsage ?? 500; + + const [alertsError, fetchedAlerts] = await tryCatch(getBillingAlerts(organization.id)); + let alerts = alertsError ? undefined : fetchedAlerts; + if ( + getBillingLimitMode(billingLimit) === "none" && + (!alerts || billingAlertsLookUnconfigured(alerts)) + ) { + // Lazily seed default alerts for orgs that have none configured. + const defaults = buildDefaultBillingAlerts(); + const [seedError, seeded] = await tryCatch(setBillingAlert(organization.id, defaults)); + alerts = seedError || !seeded ? defaults : seeded; + } + if (!alerts) { throw new Response(null, { status: 404, statusText: `Billing alerts error: ${alertsError ?? "not found"}`, }); } - - const planLimitCents = currentPlan?.v3Subscription?.plan?.limits.includedUsage ?? 500; const alertsResetRequested = getAlertsResetRequested(request); const resolveSubmitted = getResolveSubmitted(request); const submittedResumeMode = getSubmittedResumeMode(request); diff --git a/apps/webapp/app/routes/admin.api.v1.billing-alerts.backfill.ts b/apps/webapp/app/routes/admin.api.v1.billing-alerts.backfill.ts new file mode 100644 index 00000000000..2d5c6eb9c20 --- /dev/null +++ b/apps/webapp/app/routes/admin.api.v1.billing-alerts.backfill.ts @@ -0,0 +1,25 @@ +import { type ActionFunctionArgs, json } from "@remix-run/server-runtime"; +import { z } from "zod"; +import { backfillBillingAlerts } from "~/services/billingAlertsBackfiller.server"; +import { requireAdminApiRequest } from "~/services/personalAccessToken.server"; + +const Body = z.object({ + cursor: z.string().optional(), + batchSize: z.number().int().positive().max(500).optional(), + dryRun: z.boolean().optional(), +}); + +export async function action({ request }: ActionFunctionArgs) { + await requireAdminApiRequest(request); + + try { + const body = await request.json(); + const { cursor, batchSize, dryRun } = Body.parse(body); + + const result = await backfillBillingAlerts({ cursor, batchSize, dryRun }); + + return json({ success: true, ...result }); + } catch (error) { + return json({ error: error instanceof Error ? error.message : error }, { status: 400 }); + } +} diff --git a/apps/webapp/app/services/billingAlertsBackfiller.server.ts b/apps/webapp/app/services/billingAlertsBackfiller.server.ts new file mode 100644 index 00000000000..62e63bcabf4 --- /dev/null +++ b/apps/webapp/app/services/billingAlertsBackfiller.server.ts @@ -0,0 +1,107 @@ +import { tryCatch } from "@trigger.dev/core"; +import { prisma } from "~/db.server"; +import { logger } from "~/services/logger.server"; +import { + billingAlertsLookUnconfigured, + buildDefaultBillingAlerts, +} from "~/services/billingAlertsDefaults.server"; +import { getBillingAlerts, getBillingLimit, setBillingAlert } from "~/services/platform.v3.server"; + +export type BillingAlertsBackfillResult = { + orgCount: number; + seeded: number; + skipped: number; + failed: number; + /** Pass back as `cursor` to continue; undefined when done. */ + cursor: string | undefined; +}; + +/** Seeds default billing alerts for orgs that have none configured. */ +export async function backfillBillingAlerts({ + cursor, + batchSize = 50, + dryRun = false, +}: { + cursor?: string; + batchSize?: number; + dryRun?: boolean; +}): Promise { + const orgs = await prisma.organization.findMany({ + where: { + deletedAt: null, + ...(cursor ? { id: { gt: cursor } } : {}), + }, + orderBy: { id: "asc" }, + take: batchSize, + select: { id: true, slug: true }, + }); + + let seeded = 0; + let skipped = 0; + let failed = 0; + + for (const org of orgs) { + const [alertsError, alerts] = await tryCatch(getBillingAlerts(org.id)); + if (alertsError || !alerts) { + logger.warn("backfillBillingAlerts: failed to get alerts, skipping org", { + organizationId: org.id, + error: alertsError instanceof Error ? alertsError.message : alertsError, + }); + failed++; + continue; + } + + if (!billingAlertsLookUnconfigured(alerts)) { + skipped++; + continue; + } + + // Absolute-dollar defaults only apply when no billing limit is configured. + const [limitError, billingLimit] = await tryCatch(getBillingLimit(org.id)); + if (limitError || !billingLimit) { + logger.warn("backfillBillingAlerts: failed to get billing limit, skipping org", { + organizationId: org.id, + error: limitError instanceof Error ? limitError.message : limitError, + }); + failed++; + continue; + } + + if (billingLimit.isConfigured && billingLimit.mode !== "none") { + skipped++; + continue; + } + + const defaults = buildDefaultBillingAlerts(); + + if (dryRun) { + logger.info("backfillBillingAlerts: would seed defaults (dry run)", { + organizationId: org.id, + slug: org.slug, + defaults, + }); + seeded++; + continue; + } + + const [seedError] = await tryCatch(setBillingAlert(org.id, defaults)); + if (seedError) { + logger.warn("backfillBillingAlerts: failed to seed defaults, skipping org", { + organizationId: org.id, + error: seedError instanceof Error ? seedError.message : seedError, + }); + failed++; + continue; + } + + seeded++; + } + + return { + orgCount: orgs.length, + seeded, + skipped, + failed, + cursor: orgs.length === batchSize ? orgs[orgs.length - 1].id : undefined, + }; +} diff --git a/apps/webapp/app/services/billingAlertsDefaults.server.ts b/apps/webapp/app/services/billingAlertsDefaults.server.ts new file mode 100644 index 00000000000..f1011462d51 --- /dev/null +++ b/apps/webapp/app/services/billingAlertsDefaults.server.ts @@ -0,0 +1,41 @@ +import type { UpdateBillingAlertsRequest } from "@trigger.dev/platform"; +import { ABSOLUTE_ALERT_BASE_CENTS } from "~/components/billing/billingAlertsFormat"; + +/** Default absolute alert thresholds in dollars. */ +const DEFAULT_ALERT_THRESHOLD_DOLLARS = [5, 100, 500, 1000, 2500]; + +/** + * Build the default billing alerts for an org that has none configured. + * + * The platform evaluates alerts as `usage / amount >= level`. Setting `amount` + * to the $1 base (100 cents) turns `alertLevels` into absolute dollar thresholds, + * which is what the current "no limit configured" UI expects. + * + * Emails are left empty: the platform falls back to org admin/member addresses + * when no recipients are configured. + */ +export function buildDefaultBillingAlerts(): UpdateBillingAlertsRequest { + return { + amount: ABSOLUTE_ALERT_BASE_CENTS, + emails: [], + alertLevels: [...DEFAULT_ALERT_THRESHOLD_DOLLARS], + }; +} + +/** + * Whether alerts look never-configured. When no alert row exists the platform + * returns a default of `{ amount: planIncludedUsage, emails: [], alertLevels: [] }`; + * a deliberately cleared config stores the $1 absolute base amount and/or keeps + * the configured emails. + */ +export function billingAlertsLookUnconfigured(alerts: { + amount: number; + emails: string[]; + alertLevels: number[]; +}): boolean { + return ( + alerts.alertLevels.length === 0 && + alerts.emails.length === 0 && + alerts.amount !== ABSOLUTE_ALERT_BASE_CENTS + ); +} From 92d1ae48d230978d5ea6a0a69f9dae50480bbf6e Mon Sep 17 00:00:00 2001 From: Katia Bulatova Date: Wed, 22 Jul 2026 06:52:48 +0000 Subject: [PATCH 02/14] fix(webapp): hide no-billing-limit banner for users without billing permissions --- .../webapp/app/components/billing/OrgBanner.tsx | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/apps/webapp/app/components/billing/OrgBanner.tsx b/apps/webapp/app/components/billing/OrgBanner.tsx index ffe0e75df9a..53c37195d87 100644 --- a/apps/webapp/app/components/billing/OrgBanner.tsx +++ b/apps/webapp/app/components/billing/OrgBanner.tsx @@ -147,25 +147,26 @@ function NoLimitConfiguredBanner({ onBillingLimitsPage }: { onBillingLimitsPage: const organization = useOrganization(); const canManageBillingLimits = useCanManageBillingLimits(); - const message = canManageBillingLimits - ? onBillingLimitsPage - ? "Please configure a billing limit to protect your organization from unexpected usage spikes." - : "Protect your organization from unexpected usage spikes." - : "Billing limits are not configured for this organization. Contact an organization administrator to configure them."; + // Users who can't manage billing limits can't act on this — no banner for them. + if (!canManageBillingLimits) { + return null; + } return ( Configure billing limit - ) : undefined + ) } > - {message} + {onBillingLimitsPage + ? "Please configure a billing limit to protect your organization from unexpected usage spikes." + : "Protect your organization from unexpected usage spikes."} ); } From 8862678fe8d3d4873409aa25fec6b86cb0ba4e63 Mon Sep 17 00:00:00 2001 From: Katia Bulatova Date: Wed, 22 Jul 2026 07:21:53 +0000 Subject: [PATCH 03/14] feat(webapp): seed default billing alerts on organization creation --- apps/webapp/app/models/organization.server.ts | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/apps/webapp/app/models/organization.server.ts b/apps/webapp/app/models/organization.server.ts index a4b8a8ab5f5..fd769658662 100644 --- a/apps/webapp/app/models/organization.server.ts +++ b/apps/webapp/app/models/organization.server.ts @@ -6,6 +6,7 @@ import type { RuntimeEnvironment, User, } from "@trigger.dev/database"; +import { tryCatch } from "@trigger.dev/core"; import { customAlphabet } from "nanoid"; import { generate } from "random-words"; import slug from "slug"; @@ -13,8 +14,14 @@ import { $replica, prisma, type PrismaClientOrTransaction } from "~/db.server"; import { env } from "~/env.server"; import { featuresForUrl } from "~/features.server"; import { createApiKeyForEnv, createPkApiKeyForEnv, envSlug } from "./api-key.server"; -import { getDefaultEnvironmentConcurrencyLimit } from "~/services/platform.v3.server"; +import { + getDefaultEnvironmentConcurrencyLimit, + isBillingConfigured, + setBillingAlert, +} from "~/services/platform.v3.server"; +import { buildDefaultBillingAlerts } from "~/services/billingAlertsDefaults.server"; import { enqueueAttioWorkspaceSync } from "~/services/attio.server"; +import { logger } from "~/services/logger.server"; import { applyBillingLimitPauseAfterEnvCreate, getInitialEnvPauseStateForBillingLimit, @@ -122,9 +129,26 @@ export async function createOrganization( adminUserId: userId, }); + void seedDefaultBillingAlerts(organization.id); + return { ...organization }; } +/** Seed default billing alerts for a new org. Never blocks/fails org creation. */ +async function seedDefaultBillingAlerts(organizationId: string): Promise { + if (!isBillingConfigured()) { + return; + } + + const [error] = await tryCatch(setBillingAlert(organizationId, buildDefaultBillingAlerts())); + if (error) { + logger.warn("Failed to seed default billing alerts for new org", { + organizationId, + error: error instanceof Error ? error.message : error, + }); + } +} + export async function createEnvironment({ organization, project, From a8b80cc8f152a2f9c9eec6e2b0a0749742e8d2b1 Mon Sep 17 00:00:00 2001 From: Katia Bulatova Date: Wed, 22 Jul 2026 07:29:58 +0000 Subject: [PATCH 04/14] chore(webapp): drop billing alerts backfill machinery in favor of billing-side migration --- .../route.tsx | 22 +--- .../admin.api.v1.billing-alerts.backfill.ts | 25 ---- .../billingAlertsBackfiller.server.ts | 107 ------------------ .../services/billingAlertsDefaults.server.ts | 18 --- 4 files changed, 4 insertions(+), 168 deletions(-) delete mode 100644 apps/webapp/app/routes/admin.api.v1.billing-alerts.backfill.ts delete mode 100644 apps/webapp/app/services/billingAlertsBackfiller.server.ts diff --git a/apps/webapp/app/routes/_app.orgs.$organizationSlug.settings.billing-limits/route.tsx b/apps/webapp/app/routes/_app.orgs.$organizationSlug.settings.billing-limits/route.tsx index 2e3c5e492d5..a7790c4ee48 100644 --- a/apps/webapp/app/routes/_app.orgs.$organizationSlug.settings.billing-limits/route.tsx +++ b/apps/webapp/app/routes/_app.orgs.$organizationSlug.settings.billing-limits/route.tsx @@ -24,10 +24,6 @@ import { thresholdValuesAreUnique, } from "~/components/billing/billingAlertsFormat"; import { getSuggestedRecoveryLimitDollars } from "~/components/billing/billingLimitFormat"; -import { - billingAlertsLookUnconfigured, - buildDefaultBillingAlerts, -} from "~/services/billingAlertsDefaults.server"; import { BillingLimitConfigSection, billingLimitFormSchema, @@ -130,25 +126,15 @@ export const loader = dashboardLoader( }); } - const planLimitCents = currentPlan?.v3Subscription?.plan?.limits.includedUsage ?? 500; - - const [alertsError, fetchedAlerts] = await tryCatch(getBillingAlerts(organization.id)); - let alerts = alertsError ? undefined : fetchedAlerts; - if ( - getBillingLimitMode(billingLimit) === "none" && - (!alerts || billingAlertsLookUnconfigured(alerts)) - ) { - // Lazily seed default alerts for orgs that have none configured. - const defaults = buildDefaultBillingAlerts(); - const [seedError, seeded] = await tryCatch(setBillingAlert(organization.id, defaults)); - alerts = seedError || !seeded ? defaults : seeded; - } - if (!alerts) { + const [alertsError, alerts] = await tryCatch(getBillingAlerts(organization.id)); + if (alertsError || !alerts) { throw new Response(null, { status: 404, statusText: `Billing alerts error: ${alertsError ?? "not found"}`, }); } + + const planLimitCents = currentPlan?.v3Subscription?.plan?.limits.includedUsage ?? 500; const alertsResetRequested = getAlertsResetRequested(request); const resolveSubmitted = getResolveSubmitted(request); const submittedResumeMode = getSubmittedResumeMode(request); diff --git a/apps/webapp/app/routes/admin.api.v1.billing-alerts.backfill.ts b/apps/webapp/app/routes/admin.api.v1.billing-alerts.backfill.ts deleted file mode 100644 index 2d5c6eb9c20..00000000000 --- a/apps/webapp/app/routes/admin.api.v1.billing-alerts.backfill.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { type ActionFunctionArgs, json } from "@remix-run/server-runtime"; -import { z } from "zod"; -import { backfillBillingAlerts } from "~/services/billingAlertsBackfiller.server"; -import { requireAdminApiRequest } from "~/services/personalAccessToken.server"; - -const Body = z.object({ - cursor: z.string().optional(), - batchSize: z.number().int().positive().max(500).optional(), - dryRun: z.boolean().optional(), -}); - -export async function action({ request }: ActionFunctionArgs) { - await requireAdminApiRequest(request); - - try { - const body = await request.json(); - const { cursor, batchSize, dryRun } = Body.parse(body); - - const result = await backfillBillingAlerts({ cursor, batchSize, dryRun }); - - return json({ success: true, ...result }); - } catch (error) { - return json({ error: error instanceof Error ? error.message : error }, { status: 400 }); - } -} diff --git a/apps/webapp/app/services/billingAlertsBackfiller.server.ts b/apps/webapp/app/services/billingAlertsBackfiller.server.ts deleted file mode 100644 index 62e63bcabf4..00000000000 --- a/apps/webapp/app/services/billingAlertsBackfiller.server.ts +++ /dev/null @@ -1,107 +0,0 @@ -import { tryCatch } from "@trigger.dev/core"; -import { prisma } from "~/db.server"; -import { logger } from "~/services/logger.server"; -import { - billingAlertsLookUnconfigured, - buildDefaultBillingAlerts, -} from "~/services/billingAlertsDefaults.server"; -import { getBillingAlerts, getBillingLimit, setBillingAlert } from "~/services/platform.v3.server"; - -export type BillingAlertsBackfillResult = { - orgCount: number; - seeded: number; - skipped: number; - failed: number; - /** Pass back as `cursor` to continue; undefined when done. */ - cursor: string | undefined; -}; - -/** Seeds default billing alerts for orgs that have none configured. */ -export async function backfillBillingAlerts({ - cursor, - batchSize = 50, - dryRun = false, -}: { - cursor?: string; - batchSize?: number; - dryRun?: boolean; -}): Promise { - const orgs = await prisma.organization.findMany({ - where: { - deletedAt: null, - ...(cursor ? { id: { gt: cursor } } : {}), - }, - orderBy: { id: "asc" }, - take: batchSize, - select: { id: true, slug: true }, - }); - - let seeded = 0; - let skipped = 0; - let failed = 0; - - for (const org of orgs) { - const [alertsError, alerts] = await tryCatch(getBillingAlerts(org.id)); - if (alertsError || !alerts) { - logger.warn("backfillBillingAlerts: failed to get alerts, skipping org", { - organizationId: org.id, - error: alertsError instanceof Error ? alertsError.message : alertsError, - }); - failed++; - continue; - } - - if (!billingAlertsLookUnconfigured(alerts)) { - skipped++; - continue; - } - - // Absolute-dollar defaults only apply when no billing limit is configured. - const [limitError, billingLimit] = await tryCatch(getBillingLimit(org.id)); - if (limitError || !billingLimit) { - logger.warn("backfillBillingAlerts: failed to get billing limit, skipping org", { - organizationId: org.id, - error: limitError instanceof Error ? limitError.message : limitError, - }); - failed++; - continue; - } - - if (billingLimit.isConfigured && billingLimit.mode !== "none") { - skipped++; - continue; - } - - const defaults = buildDefaultBillingAlerts(); - - if (dryRun) { - logger.info("backfillBillingAlerts: would seed defaults (dry run)", { - organizationId: org.id, - slug: org.slug, - defaults, - }); - seeded++; - continue; - } - - const [seedError] = await tryCatch(setBillingAlert(org.id, defaults)); - if (seedError) { - logger.warn("backfillBillingAlerts: failed to seed defaults, skipping org", { - organizationId: org.id, - error: seedError instanceof Error ? seedError.message : seedError, - }); - failed++; - continue; - } - - seeded++; - } - - return { - orgCount: orgs.length, - seeded, - skipped, - failed, - cursor: orgs.length === batchSize ? orgs[orgs.length - 1].id : undefined, - }; -} diff --git a/apps/webapp/app/services/billingAlertsDefaults.server.ts b/apps/webapp/app/services/billingAlertsDefaults.server.ts index f1011462d51..5110cdf2955 100644 --- a/apps/webapp/app/services/billingAlertsDefaults.server.ts +++ b/apps/webapp/app/services/billingAlertsDefaults.server.ts @@ -21,21 +21,3 @@ export function buildDefaultBillingAlerts(): UpdateBillingAlertsRequest { alertLevels: [...DEFAULT_ALERT_THRESHOLD_DOLLARS], }; } - -/** - * Whether alerts look never-configured. When no alert row exists the platform - * returns a default of `{ amount: planIncludedUsage, emails: [], alertLevels: [] }`; - * a deliberately cleared config stores the $1 absolute base amount and/or keeps - * the configured emails. - */ -export function billingAlertsLookUnconfigured(alerts: { - amount: number; - emails: string[]; - alertLevels: number[]; -}): boolean { - return ( - alerts.alertLevels.length === 0 && - alerts.emails.length === 0 && - alerts.amount !== ABSOLUTE_ALERT_BASE_CENTS - ); -} From 4b5fe49bd2df25091c690922f139391d00e03b84 Mon Sep 17 00:00:00 2001 From: Katia Bulatova Date: Wed, 22 Jul 2026 11:53:02 +0000 Subject: [PATCH 05/14] test(webapp): cover unselected billing limit mode and default alerts --- .../billing-limit-unconfigured-ux.md | 6 +++ .../webapp/test/billingAlertsDefaults.test.ts | 26 ++++++++++++ apps/webapp/test/billingLimitsRoute.test.ts | 41 +++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 .server-changes/billing-limit-unconfigured-ux.md create mode 100644 apps/webapp/test/billingAlertsDefaults.test.ts diff --git a/.server-changes/billing-limit-unconfigured-ux.md b/.server-changes/billing-limit-unconfigured-ux.md new file mode 100644 index 00000000000..280b5e8cd53 --- /dev/null +++ b/.server-changes/billing-limit-unconfigured-ux.md @@ -0,0 +1,6 @@ +--- +area: webapp +type: improvement +--- + +The billing limit page no longer pre-selects an option before you've configured a limit, and shows a clear prompt to set one up. The reminder banner is now hidden for members who can't manage billing. diff --git a/apps/webapp/test/billingAlertsDefaults.test.ts b/apps/webapp/test/billingAlertsDefaults.test.ts new file mode 100644 index 00000000000..6e655e38fea --- /dev/null +++ b/apps/webapp/test/billingAlertsDefaults.test.ts @@ -0,0 +1,26 @@ +import { describe, expect, it } from "vitest"; +import { buildDefaultBillingAlerts } from "~/services/billingAlertsDefaults.server"; +import { ABSOLUTE_ALERT_BASE_CENTS } from "~/components/billing/billingAlertsFormat"; + +describe("buildDefaultBillingAlerts", () => { + it("uses the absolute dollar base so alert levels read as dollar thresholds", () => { + expect(buildDefaultBillingAlerts().amount).toBe(ABSOLUTE_ALERT_BASE_CENTS); + expect(buildDefaultBillingAlerts().amount).toBe(100); + }); + + it("starts with no recipients so the platform falls back to org members", () => { + expect(buildDefaultBillingAlerts().emails).toEqual([]); + }); + + it("seeds the default dollar alert thresholds", () => { + expect(buildDefaultBillingAlerts().alertLevels).toEqual([5, 100, 500, 1000, 2500]); + }); + + it("returns a fresh alertLevels array each call (no shared mutable state)", () => { + const first = buildDefaultBillingAlerts(); + const second = buildDefaultBillingAlerts(); + expect(first.alertLevels).not.toBe(second.alertLevels); + first.alertLevels.push(9999); + expect(second.alertLevels).toEqual([5, 100, 500, 1000, 2500]); + }); +}); diff --git a/apps/webapp/test/billingLimitsRoute.test.ts b/apps/webapp/test/billingLimitsRoute.test.ts index d85a48ffb24..66f1ac5a7b5 100644 --- a/apps/webapp/test/billingLimitsRoute.test.ts +++ b/apps/webapp/test/billingLimitsRoute.test.ts @@ -266,6 +266,27 @@ describe("isBillingLimitFormDirty", () => { gracePeriodMs: 86_400_000, }; + it("is not dirty when no mode is selected, regardless of other inputs", () => { + expect( + isBillingLimitFormDirty({ + billingLimit: unconfiguredLimit, + mode: "", + customAmount: "999.00", + cancelInProgressRuns: true, + }) + ).toBe(false); + + // Even a configured limit stays clean while the form has no selection. + expect( + isBillingLimitFormDirty({ + billingLimit: configuredPlanLimit, + mode: "", + customAmount: "50.00", + cancelInProgressRuns: true, + }) + ).toBe(false); + }); + it("is dirty when billing limit has never been saved", () => { expect( isBillingLimitFormDirty({ @@ -277,6 +298,26 @@ describe("isBillingLimitFormDirty", () => { ).toBe(true); }); + it("is dirty when an unconfigured limit picks a real mode (initial save)", () => { + expect( + isBillingLimitFormDirty({ + billingLimit: unconfiguredLimit, + mode: "plan", + customAmount: "", + cancelInProgressRuns: false, + }) + ).toBe(true); + + expect( + isBillingLimitFormDirty({ + billingLimit: unconfiguredLimit, + mode: "custom", + customAmount: "100.00", + cancelInProgressRuns: false, + }) + ).toBe(true); + }); + it("is clean when configured values match saved state", () => { expect( isBillingLimitFormDirty({ From f127eac9b1ab2e33508c4f93ae308403465cf9ce Mon Sep 17 00:00:00 2001 From: Katia Bulatova Date: Wed, 22 Jul 2026 12:13:59 +0000 Subject: [PATCH 06/14] fix(webapp): await default billing alerts seed to avoid racing user edits --- apps/webapp/app/models/organization.server.ts | 5 +- .../llm-model-catalog/src/defaultPrices.ts | 6169 ++++++++--------- .../llm-model-catalog/src/modelCatalog.ts | 4059 ++++++----- 3 files changed, 5304 insertions(+), 4929 deletions(-) diff --git a/apps/webapp/app/models/organization.server.ts b/apps/webapp/app/models/organization.server.ts index fd769658662..483b2db540e 100644 --- a/apps/webapp/app/models/organization.server.ts +++ b/apps/webapp/app/models/organization.server.ts @@ -129,12 +129,13 @@ export async function createOrganization( adminUserId: userId, }); - void seedDefaultBillingAlerts(organization.id); + // Awaited so the seed can't land after the user's first alert edit. + await seedDefaultBillingAlerts(organization.id); return { ...organization }; } -/** Seed default billing alerts for a new org. Never blocks/fails org creation. */ +/** Seed default billing alerts for a new org. Never fails org creation. */ async function seedDefaultBillingAlerts(organizationId: string): Promise { if (!isBillingConfigured()) { return; diff --git a/internal-packages/llm-model-catalog/src/defaultPrices.ts b/internal-packages/llm-model-catalog/src/defaultPrices.ts index 982b6b2ec15..fb347c2bef6 100644 --- a/internal-packages/llm-model-catalog/src/defaultPrices.ts +++ b/internal-packages/llm-model-catalog/src/defaultPrices.ts @@ -6,3106 +6,3091 @@ import type { DefaultModelDefinition } from "./types.js"; export const defaultModelPrices: DefaultModelDefinition[] = [ { - modelName: "gpt-4o", - matchPattern: "(?i)^(openai/)?(gpt-4o)$", - startDate: "2024-05-13T23:15:07.670Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000025, - input_cached_tokens: 0.00000125, - input_cache_read: 0.00000125, - output: 0.00001, - }, - }, - ], - }, - { - modelName: "gpt-4o-2024-05-13", - matchPattern: "(?i)^(openai/)?(gpt-4o-2024-05-13)$", - startDate: "2024-05-13T23:15:07.670Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000005, - output: 0.000015, - }, - }, - ], - }, - { - modelName: "gpt-4-1106-preview", - matchPattern: "(?i)^(openai/)?(gpt-4-1106-preview)$", - startDate: "2024-04-23T10:37:17.092Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00001, - output: 0.00003, - }, - }, - ], - }, - { - modelName: "gpt-4-turbo-vision", - matchPattern: "(?i)^(openai/)?(gpt-4(-\\d{4})?-vision-preview)$", - startDate: "2024-01-24T10:19:21.693Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00001, - output: 0.00003, - }, - }, - ], - }, - { - modelName: "gpt-4-32k", - matchPattern: "(?i)^(openai/)?(gpt-4-32k)$", - startDate: "2024-01-24T10:19:21.693Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00006, - output: 0.00012, - }, - }, - ], - }, - { - modelName: "gpt-4-32k-0613", - matchPattern: "(?i)^(openai/)?(gpt-4-32k-0613)$", - startDate: "2024-01-24T10:19:21.693Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00006, - output: 0.00012, - }, - }, - ], - }, - { - modelName: "gpt-3.5-turbo-1106", - matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-1106)$", - startDate: "2024-01-24T10:19:21.693Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000001, - output: 0.000002, - }, - }, - ], - }, - { - modelName: "gpt-3.5-turbo-0613", - matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-0613)$", - startDate: "2024-01-24T10:19:21.693Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000015, - output: 0.000002, - }, - }, - ], - }, - { - modelName: "gpt-4-0613", - matchPattern: "(?i)^(openai/)?(gpt-4-0613)$", - startDate: "2024-01-24T10:19:21.693Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00003, - output: 0.00006, - }, - }, - ], - }, - { - modelName: "gpt-3.5-turbo-instruct", - matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-instruct)$", - startDate: "2024-01-24T10:19:21.693Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000015, - output: 0.000002, - }, - }, - ], - }, - { - modelName: "text-ada-001", - matchPattern: "(?i)^(text-ada-001)$", - startDate: "2024-01-24T18:18:50.861Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - total: 0.000004, - }, - }, - ], - }, - { - modelName: "text-babbage-001", - matchPattern: "(?i)^(text-babbage-001)$", - startDate: "2024-01-24T18:18:50.861Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - total: 5e-7, - }, - }, - ], - }, - { - modelName: "text-curie-001", - matchPattern: "(?i)^(text-curie-001)$", - startDate: "2024-01-24T18:18:50.861Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - total: 0.00002, - }, - }, - ], - }, - { - modelName: "text-davinci-001", - matchPattern: "(?i)^(text-davinci-001)$", - startDate: "2024-01-24T18:18:50.861Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - total: 0.00002, - }, - }, - ], - }, - { - modelName: "text-davinci-002", - matchPattern: "(?i)^(text-davinci-002)$", - startDate: "2024-01-24T18:18:50.861Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - total: 0.00002, - }, - }, - ], - }, - { - modelName: "text-davinci-003", - matchPattern: "(?i)^(text-davinci-003)$", - startDate: "2024-01-24T18:18:50.861Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - total: 0.00002, - }, - }, - ], - }, - { - modelName: "text-embedding-ada-002-v2", - matchPattern: "(?i)^(text-embedding-ada-002-v2)$", - startDate: "2024-01-24T18:18:50.861Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - total: 1e-7, - }, - }, - ], - }, - { - modelName: "text-embedding-ada-002", - matchPattern: "(?i)^(text-embedding-ada-002)$", - startDate: "2024-01-24T18:18:50.861Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - total: 1e-7, - }, - }, - ], - }, - { - modelName: "gpt-3.5-turbo-16k-0613", - matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-16k-0613)$", - startDate: "2024-02-03T17:29:57.350Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000003, - output: 0.000004, - }, - }, - ], - }, - { - modelName: "gpt-3.5-turbo-0301", - matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-0301)$", - startDate: "2024-01-24T10:19:21.693Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000002, - output: 0.000002, - }, - }, - ], - }, - { - modelName: "gpt-4-32k-0314", - matchPattern: "(?i)^(openai/)?(gpt-4-32k-0314)$", - startDate: "2024-01-24T10:19:21.693Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00006, - output: 0.00012, - }, - }, - ], - }, - { - modelName: "gpt-4-0314", - matchPattern: "(?i)^(openai/)?(gpt-4-0314)$", - startDate: "2024-01-24T10:19:21.693Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00003, - output: 0.00006, - }, - }, - ], - }, - { - modelName: "gpt-4", - matchPattern: "(?i)^(openai/)?(gpt-4)$", - startDate: "2024-01-24T10:19:21.693Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00003, - output: 0.00006, - }, - }, - ], - }, - { - modelName: "claude-instant-1.2", - matchPattern: "(?i)^(anthropic/)?(claude-instant-1.2)$", - startDate: "2024-01-30T15:44:13.447Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00000163, - output: 0.00000551, - }, - }, - ], - }, - { - modelName: "claude-2.0", - matchPattern: "(?i)^(anthropic/)?(claude-2.0)$", - startDate: "2024-01-30T15:44:13.447Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000008, - output: 0.000024, - }, - }, - ], - }, - { - modelName: "claude-2.1", - matchPattern: "(?i)^(anthropic/)?(claude-2.1)$", - startDate: "2024-01-30T15:44:13.447Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000008, - output: 0.000024, - }, - }, - ], - }, - { - modelName: "claude-1.3", - matchPattern: "(?i)^(anthropic/)?(claude-1.3)$", - startDate: "2024-01-30T15:44:13.447Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000008, - output: 0.000024, - }, - }, - ], - }, - { - modelName: "claude-1.2", - matchPattern: "(?i)^(anthropic/)?(claude-1.2)$", - startDate: "2024-01-30T15:44:13.447Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000008, - output: 0.000024, - }, - }, - ], - }, - { - modelName: "claude-1.1", - matchPattern: "(?i)^(anthropic/)?(claude-1.1)$", - startDate: "2024-01-30T15:44:13.447Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000008, - output: 0.000024, - }, - }, - ], - }, - { - modelName: "claude-instant-1", - matchPattern: "(?i)^(anthropic/)?(claude-instant-1)$", - startDate: "2024-01-30T15:44:13.447Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00000163, - output: 0.00000551, - }, - }, - ], - }, - { - modelName: "babbage-002", - matchPattern: "(?i)^(babbage-002)$", - startDate: "2024-01-26T17:35:21.129Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 4e-7, - output: 0.0000016, - }, - }, - ], - }, - { - modelName: "davinci-002", - matchPattern: "(?i)^(davinci-002)$", - startDate: "2024-01-26T17:35:21.129Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000006, - output: 0.000012, - }, - }, - ], - }, - { - modelName: "text-embedding-3-small", - matchPattern: "(?i)^(text-embedding-3-small)$", - startDate: "2024-01-26T17:35:21.129Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - total: 2e-8, - }, - }, - ], - }, - { - modelName: "text-embedding-3-large", - matchPattern: "(?i)^(text-embedding-3-large)$", - startDate: "2024-01-26T17:35:21.129Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - total: 1.3e-7, - }, - }, - ], - }, - { - modelName: "gpt-3.5-turbo-0125", - matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-0125)$", - startDate: "2024-01-26T17:35:21.129Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 5e-7, - output: 0.0000015, - }, - }, - ], - }, - { - modelName: "gpt-3.5-turbo", - matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo)$", - startDate: "2024-02-13T12:00:37.424Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 5e-7, - output: 0.0000015, - }, - }, - ], - }, - { - modelName: "gpt-4-0125-preview", - matchPattern: "(?i)^(openai/)?(gpt-4-0125-preview)$", - startDate: "2024-01-26T17:35:21.129Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00001, - output: 0.00003, - }, - }, - ], - }, - { - modelName: "ft:gpt-3.5-turbo-1106", - matchPattern: "(?i)^(ft:)(gpt-3.5-turbo-1106:)(.+)(:)(.*)(:)(.+)$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000003, - output: 0.000006, - }, - }, - ], - }, - { - modelName: "ft:gpt-3.5-turbo-0613", - matchPattern: "(?i)^(ft:)(gpt-3.5-turbo-0613:)(.+)(:)(.*)(:)(.+)$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000012, - output: 0.000016, - }, - }, - ], - }, - { - modelName: "ft:davinci-002", - matchPattern: "(?i)^(ft:)(davinci-002:)(.+)(:)(.*)(:)(.+)$$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000012, - output: 0.000012, - }, - }, - ], - }, - { - modelName: "ft:babbage-002", - matchPattern: "(?i)^(ft:)(babbage-002:)(.+)(:)(.*)(:)(.+)$$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000016, - output: 0.0000016, - }, - }, - ], - }, - { - modelName: "chat-bison", - matchPattern: "(?i)^(chat-bison)(@[a-zA-Z0-9]+)?$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2.5e-7, - output: 5e-7, - }, - }, - ], - }, - { - modelName: "codechat-bison-32k", - matchPattern: "(?i)^(codechat-bison-32k)(@[a-zA-Z0-9]+)?$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2.5e-7, - output: 5e-7, - }, - }, - ], - }, - { - modelName: "codechat-bison", - matchPattern: "(?i)^(codechat-bison)(@[a-zA-Z0-9]+)?$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2.5e-7, - output: 5e-7, - }, - }, - ], - }, - { - modelName: "text-bison-32k", - matchPattern: "(?i)^(text-bison-32k)(@[a-zA-Z0-9]+)?$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2.5e-7, - output: 5e-7, - }, - }, - ], - }, - { - modelName: "chat-bison-32k", - matchPattern: "(?i)^(chat-bison-32k)(@[a-zA-Z0-9]+)?$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2.5e-7, - output: 5e-7, - }, - }, - ], - }, - { - modelName: "text-unicorn", - matchPattern: "(?i)^(text-unicorn)(@[a-zA-Z0-9]+)?$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000025, - output: 0.0000075, - }, - }, - ], - }, - { - modelName: "text-bison", - matchPattern: "(?i)^(text-bison)(@[a-zA-Z0-9]+)?$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2.5e-7, - output: 5e-7, - }, - }, - ], - }, - { - modelName: "textembedding-gecko", - matchPattern: "(?i)^(textembedding-gecko)(@[a-zA-Z0-9]+)?$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - total: 1e-7, - }, - }, - ], - }, - { - modelName: "textembedding-gecko-multilingual", - matchPattern: "(?i)^(textembedding-gecko-multilingual)(@[a-zA-Z0-9]+)?$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - total: 1e-7, - }, - }, - ], - }, - { - modelName: "code-gecko", - matchPattern: "(?i)^(code-gecko)(@[a-zA-Z0-9]+)?$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2.5e-7, - output: 5e-7, - }, - }, - ], - }, - { - modelName: "code-bison", - matchPattern: "(?i)^(code-bison)(@[a-zA-Z0-9]+)?$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2.5e-7, - output: 5e-7, - }, - }, - ], - }, - { - modelName: "code-bison-32k", - matchPattern: "(?i)^(code-bison-32k)(@[a-zA-Z0-9]+)?$", - startDate: "2024-01-31T13:25:02.141Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2.5e-7, - output: 5e-7, - }, - }, - ], - }, - { - modelName: "gpt-3.5-turbo-16k", - matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-16k)$", - startDate: "2024-02-13T12:00:37.424Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 5e-7, - output: 0.0000015, - }, - }, - ], - }, - { - modelName: "gpt-4-turbo-preview", - matchPattern: "(?i)^(openai/)?(gpt-4-turbo-preview)$", - startDate: "2024-02-15T21:21:50.947Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00001, - output: 0.00003, - }, - }, - ], - }, - { - modelName: "claude-3-opus-20240229", - matchPattern: - "(?i)^(anthropic/)?(claude-3-opus-20240229|anthropic\\.claude-3-opus-20240229-v1:0|claude-3-opus@20240229)$", - startDate: "2024-03-07T17:55:38.139Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000015, - output: 0.000075, - }, - }, - ], - }, - { - modelName: "claude-3-sonnet-20240229", - matchPattern: - "(?i)^(anthropic/)?(claude-3-sonnet-20240229|anthropic\\.claude-3-sonnet-20240229-v1:0|claude-3-sonnet@20240229)$", - startDate: "2024-03-07T17:55:38.139Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000003, - input_tokens: 0.000003, - output: 0.000015, - output_tokens: 0.000015, - cache_creation_input_tokens: 0.00000375, - input_cache_creation: 0.00000375, - input_cache_creation_5m: 0.00000375, - input_cache_creation_1h: 0.000006, - cache_read_input_tokens: 3e-7, - input_cache_read: 3e-7, - }, - }, - ], - }, - { - modelName: "claude-3-haiku-20240307", - matchPattern: - "(?i)^(anthropic/)?(claude-3-haiku-20240307|anthropic\\.claude-3-haiku-20240307-v1:0|claude-3-haiku@20240307)$", - startDate: "2024-03-14T09:41:18.736Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2.5e-7, - output: 0.00000125, - }, - }, - ], - }, - { - modelName: "gemini-1.0-pro-latest", - matchPattern: "(?i)^(google(ai)?/)?(gemini-1.0-pro-latest)(@[a-zA-Z0-9]+)?$", - startDate: "2024-04-11T10:27:46.517Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2.5e-7, - output: 5e-7, - }, - }, - ], - }, - { - modelName: "gemini-1.0-pro", - matchPattern: "(?i)^(google(ai)?/)?(gemini-1.0-pro)(@[a-zA-Z0-9]+)?$", - startDate: "2024-04-11T10:27:46.517Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 1.25e-7, - output: 3.75e-7, - }, - }, - ], - }, - { - modelName: "gemini-1.0-pro-001", - matchPattern: "(?i)^(google(ai)?/)?(gemini-1.0-pro-001)(@[a-zA-Z0-9]+)?$", - startDate: "2024-04-11T10:27:46.517Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 1.25e-7, - output: 3.75e-7, - }, - }, - ], - }, - { - modelName: "gemini-pro", - matchPattern: "(?i)^(google(ai)?/)?(gemini-pro)(@[a-zA-Z0-9]+)?$", - startDate: "2024-04-11T10:27:46.517Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 1.25e-7, - output: 3.75e-7, - }, - }, - ], - }, - { - modelName: "gemini-1.5-pro-latest", - matchPattern: "(?i)^(google(ai)?/)?(gemini-1.5-pro-latest)(@[a-zA-Z0-9]+)?$", - startDate: "2024-04-11T10:27:46.517Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000025, - output: 0.0000075, - }, - }, - ], - }, - { - modelName: "gpt-4-turbo-2024-04-09", - matchPattern: "(?i)^(openai/)?(gpt-4-turbo-2024-04-09)$", - startDate: "2024-04-23T10:37:17.092Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00001, - output: 0.00003, - }, - }, - ], - }, - { - modelName: "gpt-4-turbo", - matchPattern: "(?i)^(openai/)?(gpt-4-turbo)$", - startDate: "2024-04-11T21:13:44.989Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00001, - output: 0.00003, - }, - }, - ], - }, - { - modelName: "gpt-4-preview", - matchPattern: "(?i)^(openai/)?(gpt-4-preview)$", - startDate: "2024-04-23T10:37:17.092Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00001, - output: 0.00003, - }, - }, - ], - }, - { - modelName: "claude-3-5-sonnet-20240620", - matchPattern: - "(?i)^(anthropic/)?(claude-3-5-sonnet-20240620|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3-5-sonnet-20240620-v1:0|claude-3-5-sonnet@20240620)$", - startDate: "2024-06-25T11:47:24.475Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000003, - input_tokens: 0.000003, - output: 0.000015, - output_tokens: 0.000015, - cache_creation_input_tokens: 0.00000375, - input_cache_creation: 0.00000375, - input_cache_creation_5m: 0.00000375, - input_cache_creation_1h: 0.000006, - cache_read_input_tokens: 3e-7, - input_cache_read: 3e-7, - }, - }, - ], - }, - { - modelName: "gpt-4o-mini", - matchPattern: "(?i)^(openai/)?(gpt-4o-mini)$", - startDate: "2024-07-18T17:56:09.591Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 1.5e-7, - output: 6e-7, - input_cached_tokens: 7.5e-8, - input_cache_read: 7.5e-8, - }, - }, - ], - }, - { - modelName: "gpt-4o-mini-2024-07-18", - matchPattern: "(?i)^(openai/)?(gpt-4o-mini-2024-07-18)$", - startDate: "2024-07-18T17:56:09.591Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 1.5e-7, - input_cached_tokens: 7.5e-8, - input_cache_read: 7.5e-8, - output: 6e-7, - }, - }, - ], - }, - { - modelName: "gpt-4o-2024-08-06", - matchPattern: "(?i)^(openai/)?(gpt-4o-2024-08-06)$", - startDate: "2024-08-07T11:54:31.298Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000025, - input_cached_tokens: 0.00000125, - input_cache_read: 0.00000125, - output: 0.00001, - }, - }, - ], - }, - { - modelName: "o1-preview", - matchPattern: "(?i)^(openai/)?(o1-preview)$", - startDate: "2024-09-13T10:01:35.373Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000015, - input_cached_tokens: 0.0000075, - input_cache_read: 0.0000075, - output: 0.00006, - output_reasoning_tokens: 0.00006, - output_reasoning: 0.00006, - }, - }, - ], - }, - { - modelName: "o1-preview-2024-09-12", - matchPattern: "(?i)^(openai/)?(o1-preview-2024-09-12)$", - startDate: "2024-09-13T10:01:35.373Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000015, - input_cached_tokens: 0.0000075, - input_cache_read: 0.0000075, - output: 0.00006, - output_reasoning_tokens: 0.00006, - output_reasoning: 0.00006, - }, - }, - ], - }, - { - modelName: "o1-mini", - matchPattern: "(?i)^(openai/)?(o1-mini)$", - startDate: "2024-09-13T10:01:35.373Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000011, - input_cached_tokens: 5.5e-7, - input_cache_read: 5.5e-7, - output: 0.0000044, - output_reasoning_tokens: 0.0000044, - output_reasoning: 0.0000044, - }, - }, - ], - }, - { - modelName: "o1-mini-2024-09-12", - matchPattern: "(?i)^(openai/)?(o1-mini-2024-09-12)$", - startDate: "2024-09-13T10:01:35.373Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000011, - input_cached_tokens: 5.5e-7, - input_cache_read: 5.5e-7, - output: 0.0000044, - output_reasoning_tokens: 0.0000044, - output_reasoning: 0.0000044, - }, - }, - ], - }, - { - modelName: "claude-3.5-sonnet-20241022", - matchPattern: - "(?i)^(anthropic/)?(claude-3-5-sonnet-20241022|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3-5-sonnet-20241022-v2:0|claude-3-5-sonnet-V2@20241022)$", - startDate: "2024-10-22T18:48:01.676Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000003, - input_tokens: 0.000003, - output: 0.000015, - output_tokens: 0.000015, - cache_creation_input_tokens: 0.00000375, - input_cache_creation: 0.00000375, - input_cache_creation_5m: 0.00000375, - input_cache_creation_1h: 0.000006, - cache_read_input_tokens: 3e-7, - input_cache_read: 3e-7, - }, - }, - ], - }, - { - modelName: "claude-3.5-sonnet-latest", - matchPattern: "(?i)^(anthropic/)?(claude-3-5-sonnet-latest)$", - startDate: "2024-10-22T18:48:01.676Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000003, - input_tokens: 0.000003, - output: 0.000015, - output_tokens: 0.000015, - cache_creation_input_tokens: 0.00000375, - input_cache_creation: 0.00000375, - input_cache_creation_5m: 0.00000375, - input_cache_creation_1h: 0.000006, - cache_read_input_tokens: 3e-7, - input_cache_read: 3e-7, - }, - }, - ], - }, - { - modelName: "claude-3-5-haiku-20241022", - matchPattern: - "(?i)^(anthropic/)?(claude-3-5-haiku-20241022|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3-5-haiku-20241022-v1:0|claude-3-5-haiku-V1@20241022)$", - startDate: "2024-11-05T10:30:50.566Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 8e-7, - input_tokens: 8e-7, - output: 0.000004, - output_tokens: 0.000004, - cache_creation_input_tokens: 0.000001, - input_cache_creation: 0.000001, - input_cache_creation_5m: 0.000001, - input_cache_creation_1h: 0.0000016, - cache_read_input_tokens: 8e-8, - input_cache_read: 8e-8, - }, - }, - ], - }, - { - modelName: "claude-3.5-haiku-latest", - matchPattern: "(?i)^(anthropic/)?(claude-3-5-haiku-latest)$", - startDate: "2024-11-05T10:30:50.566Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 8e-7, - input_tokens: 8e-7, - output: 0.000004, - output_tokens: 0.000004, - cache_creation_input_tokens: 0.000001, - input_cache_creation: 0.000001, - input_cache_creation_5m: 0.000001, - input_cache_creation_1h: 0.0000016, - cache_read_input_tokens: 8e-8, - input_cache_read: 8e-8, - }, - }, - ], - }, - { - modelName: "chatgpt-4o-latest", - matchPattern: "(?i)^(chatgpt-4o-latest)$", - startDate: "2024-11-25T12:47:17.504Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000005, - output: 0.000015, - }, - }, - ], - }, - { - modelName: "gpt-4o-2024-11-20", - matchPattern: "(?i)^(openai/)?(gpt-4o-2024-11-20)$", - startDate: "2024-12-03T10:06:12.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000025, - input_cached_tokens: 0.00000125, - input_cache_read: 0.00000125, - output: 0.00001, - }, - }, - ], - }, - { - modelName: "gpt-4o-audio-preview", - matchPattern: "(?i)^(openai/)?(gpt-4o-audio-preview)$", - startDate: "2024-12-03T10:19:56.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input_text_tokens: 0.0000025, - output_text_tokens: 0.00001, - input_audio_tokens: 0.0001, - input_audio: 0.0001, - output_audio_tokens: 0.0002, - output_audio: 0.0002, - }, - }, - ], - }, - { - modelName: "gpt-4o-audio-preview-2024-10-01", - matchPattern: "(?i)^(openai/)?(gpt-4o-audio-preview-2024-10-01)$", - startDate: "2024-12-03T10:19:56.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input_text_tokens: 0.0000025, - output_text_tokens: 0.00001, - input_audio_tokens: 0.0001, - input_audio: 0.0001, - output_audio_tokens: 0.0002, - output_audio: 0.0002, - }, - }, - ], - }, - { - modelName: "gpt-4o-realtime-preview", - matchPattern: "(?i)^(openai/)?(gpt-4o-realtime-preview)$", - startDate: "2024-12-03T10:19:56.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input_text_tokens: 0.000005, - input_cached_text_tokens: 0.0000025, - output_text_tokens: 0.00002, - input_audio_tokens: 0.0001, - input_audio: 0.0001, - input_cached_audio_tokens: 0.00002, - output_audio_tokens: 0.0002, - output_audio: 0.0002, - }, - }, - ], - }, - { - modelName: "gpt-4o-realtime-preview-2024-10-01", - matchPattern: "(?i)^(openai/)?(gpt-4o-realtime-preview-2024-10-01)$", - startDate: "2024-12-03T10:19:56.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input_text_tokens: 0.000005, - input_cached_text_tokens: 0.0000025, - output_text_tokens: 0.00002, - input_audio_tokens: 0.0001, - input_audio: 0.0001, - input_cached_audio_tokens: 0.00002, - output_audio_tokens: 0.0002, - output_audio: 0.0002, - }, - }, - ], - }, - { - modelName: "o1", - matchPattern: "(?i)^(openai/)?(o1)$", - startDate: "2025-01-17T00:01:35.373Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000015, - input_cached_tokens: 0.0000075, - input_cache_read: 0.0000075, - output: 0.00006, - output_reasoning_tokens: 0.00006, - output_reasoning: 0.00006, - }, - }, - ], - }, - { - modelName: "o1-2024-12-17", - matchPattern: "(?i)^(openai/)?(o1-2024-12-17)$", - startDate: "2025-01-17T00:01:35.373Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000015, - input_cached_tokens: 0.0000075, - input_cache_read: 0.0000075, - output: 0.00006, - output_reasoning_tokens: 0.00006, - output_reasoning: 0.00006, - }, - }, - ], - }, - { - modelName: "o3-mini", - matchPattern: "(?i)^(openai/)?(o3-mini)$", - startDate: "2025-01-31T20:41:35.373Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000011, - input_cached_tokens: 5.5e-7, - input_cache_read: 5.5e-7, - output: 0.0000044, - output_reasoning_tokens: 0.0000044, - output_reasoning: 0.0000044, - }, - }, - ], - }, - { - modelName: "o3-mini-2025-01-31", - matchPattern: "(?i)^(openai/)?(o3-mini-2025-01-31)$", - startDate: "2025-01-31T20:41:35.373Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000011, - input_cached_tokens: 5.5e-7, - input_cache_read: 5.5e-7, - output: 0.0000044, - output_reasoning_tokens: 0.0000044, - output_reasoning: 0.0000044, - }, - }, - ], - }, - { - modelName: "gemini-2.0-flash-001", - matchPattern: "(?i)^(google(ai)?/)?(gemini-2.0-flash-001)(@[a-zA-Z0-9]+)?$", - startDate: "2025-02-06T11:11:35.241Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 1e-7, - output: 4e-7, - }, - }, - ], - }, - { - modelName: "gemini-2.0-flash-lite-preview-02-05", - matchPattern: "(?i)^(google(ai)?/)?(gemini-2.0-flash-lite-preview-02-05)(@[a-zA-Z0-9]+)?$", - startDate: "2025-02-06T11:11:35.241Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 7.5e-8, - output: 3e-7, - }, - }, - ], - }, - { - modelName: "claude-3.7-sonnet-20250219", - matchPattern: - "(?i)^(anthropic/)?(claude-3.7-sonnet-20250219|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3.7-sonnet-20250219-v1:0|claude-3-7-sonnet-V1@20250219)$", - startDate: "2025-02-25T09:35:39.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000003, - input_tokens: 0.000003, - output: 0.000015, - output_tokens: 0.000015, - cache_creation_input_tokens: 0.00000375, - input_cache_creation: 0.00000375, - input_cache_creation_5m: 0.00000375, - input_cache_creation_1h: 0.000006, - cache_read_input_tokens: 3e-7, - input_cache_read: 3e-7, - }, - }, - ], - }, - { - modelName: "claude-3.7-sonnet-latest", - matchPattern: "(?i)^(anthropic/)?(claude-3-7-sonnet-latest)$", - startDate: "2025-02-25T09:35:39.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000003, - input_tokens: 0.000003, - output: 0.000015, - output_tokens: 0.000015, - cache_creation_input_tokens: 0.00000375, - input_cache_creation: 0.00000375, - input_cache_creation_5m: 0.00000375, - input_cache_creation_1h: 0.000006, - cache_read_input_tokens: 3e-7, - input_cache_read: 3e-7, - }, - }, - ], - }, - { - modelName: "gpt-4.5-preview", - matchPattern: "(?i)^(openai/)?(gpt-4.5-preview)$", - startDate: "2025-02-27T21:26:54.132Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000075, - input_cached_tokens: 0.0000375, - input_cached_text_tokens: 0.0000375, - input_cache_read: 0.0000375, - output: 0.00015, - }, - }, - ], - }, - { - modelName: "gpt-4.5-preview-2025-02-27", - matchPattern: "(?i)^(openai/)?(gpt-4.5-preview-2025-02-27)$", - startDate: "2025-02-27T21:26:54.132Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000075, - input_cached_tokens: 0.0000375, - input_cached_text_tokens: 0.0000375, - input_cache_read: 0.0000375, - output: 0.00015, - }, - }, - ], - }, - { - modelName: "gpt-4.1", - matchPattern: "(?i)^(openai/)?(gpt-4.1)$", - startDate: "2025-04-15T10:26:54.132Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000002, - input_cached_tokens: 5e-7, - input_cached_text_tokens: 5e-7, - input_cache_read: 5e-7, - output: 0.000008, - }, - }, - ], - }, - { - modelName: "gpt-4.1-2025-04-14", - matchPattern: "(?i)^(openai/)?(gpt-4.1-2025-04-14)$", - startDate: "2025-04-15T10:26:54.132Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000002, - input_cached_tokens: 5e-7, - input_cached_text_tokens: 5e-7, - input_cache_read: 5e-7, - output: 0.000008, - }, - }, - ], - }, - { - modelName: "gpt-4.1-mini-2025-04-14", - matchPattern: "(?i)^(openai/)?(gpt-4.1-mini-2025-04-14)$", - startDate: "2025-04-15T10:26:54.132Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 4e-7, - input_cached_tokens: 1e-7, - input_cached_text_tokens: 1e-7, - input_cache_read: 1e-7, - output: 0.0000016, - }, - }, - ], - }, - { - modelName: "gpt-4.1-nano-2025-04-14", - matchPattern: "(?i)^(openai/)?(gpt-4.1-nano-2025-04-14)$", - startDate: "2025-04-15T10:26:54.132Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 1e-7, - input_cached_tokens: 2.5e-8, - input_cached_text_tokens: 2.5e-8, - input_cache_read: 2.5e-8, - output: 4e-7, - }, - }, - ], - }, - { - modelName: "o3", - matchPattern: "(?i)^(openai/)?(o3)$", - startDate: "2025-04-16T23:26:54.132Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000002, - input_cached_tokens: 5e-7, - input_cache_read: 5e-7, - output: 0.000008, - output_reasoning_tokens: 0.000008, - output_reasoning: 0.000008, - }, - }, - ], - }, - { - modelName: "o3-2025-04-16", - matchPattern: "(?i)^(openai/)?(o3-2025-04-16)$", - startDate: "2025-04-16T23:26:54.132Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000002, - input_cached_tokens: 5e-7, - input_cache_read: 5e-7, - output: 0.000008, - output_reasoning_tokens: 0.000008, - output_reasoning: 0.000008, - }, - }, - ], - }, - { - modelName: "o4-mini", - matchPattern: "(?i)^(o4-mini)$", - startDate: "2025-04-16T23:26:54.132Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000011, - input_cached_tokens: 2.75e-7, - input_cache_read: 2.75e-7, - output: 0.0000044, - output_reasoning_tokens: 0.0000044, - output_reasoning: 0.0000044, - }, - }, - ], - }, - { - modelName: "o4-mini-2025-04-16", - matchPattern: "(?i)^(o4-mini-2025-04-16)$", - startDate: "2025-04-16T23:26:54.132Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000011, - input_cached_tokens: 2.75e-7, - input_cache_read: 2.75e-7, - output: 0.0000044, - output_reasoning_tokens: 0.0000044, - output_reasoning: 0.0000044, - }, - }, - ], - }, - { - modelName: "gemini-2.0-flash", - matchPattern: "(?i)^(google(ai)?/)?(gemini-2.0-flash)(@[a-zA-Z0-9]+)?$", - startDate: "2025-04-22T10:11:35.241Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 1e-7, - output: 4e-7, - }, - }, - ], - }, - { - modelName: "gemini-2.0-flash-lite-preview", - matchPattern: "(?i)^(google(ai)?/)?(gemini-2.0-flash-lite-preview)(@[a-zA-Z0-9]+)?$", - startDate: "2025-04-22T10:11:35.241Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 7.5e-8, - output: 3e-7, - }, - }, - ], - }, - { - modelName: "gpt-4.1-nano", - matchPattern: "(?i)^(openai/)?(gpt-4.1-nano)$", - startDate: "2025-04-22T10:11:35.241Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 1e-7, - input_cached_tokens: 2.5e-8, - input_cached_text_tokens: 2.5e-8, - input_cache_read: 2.5e-8, - output: 4e-7, - }, - }, - ], - }, - { - modelName: "gpt-4.1-mini", - matchPattern: "(?i)^(openai/)?(gpt-4.1-mini)$", - startDate: "2025-04-22T10:11:35.241Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 4e-7, - input_cached_tokens: 1e-7, - input_cached_text_tokens: 1e-7, - input_cache_read: 1e-7, - output: 0.0000016, - }, - }, - ], - }, - { - modelName: "claude-sonnet-4-5-20250929", - matchPattern: - "(?i)^(anthropic/)?(claude-sonnet-4-5(-20250929)?|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-sonnet-4-5(-20250929)?-v1(:0)?|claude-sonnet-4-5-V1(@20250929)?|claude-sonnet-4-5(@20250929)?)$", - startDate: "2025-09-29T00:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000003, - input_tokens: 0.000003, - output: 0.000015, - output_tokens: 0.000015, - cache_creation_input_tokens: 0.00000375, - input_cache_creation: 0.00000375, - input_cache_creation_5m: 0.00000375, - input_cache_creation_1h: 0.000006, - cache_read_input_tokens: 3e-7, - input_cache_read: 3e-7, - }, - }, - { - name: "Large Context", - isDefault: false, - priority: 1, - conditions: [ + "modelName": "gpt-4o", + "matchPattern": "(?i)^(openai/)?(gpt-4o)$", + "startDate": "2024-05-13T23:15:07.670Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000025, + "input_cached_tokens": 0.00000125, + "input_cache_read": 0.00000125, + "output": 0.00001 + } + } + ] + }, + { + "modelName": "gpt-4o-2024-05-13", + "matchPattern": "(?i)^(openai/)?(gpt-4o-2024-05-13)$", + "startDate": "2024-05-13T23:15:07.670Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000005, + "output": 0.000015 + } + } + ] + }, + { + "modelName": "gpt-4-1106-preview", + "matchPattern": "(?i)^(openai/)?(gpt-4-1106-preview)$", + "startDate": "2024-04-23T10:37:17.092Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00001, + "output": 0.00003 + } + } + ] + }, + { + "modelName": "gpt-4-turbo-vision", + "matchPattern": "(?i)^(openai/)?(gpt-4(-\\d{4})?-vision-preview)$", + "startDate": "2024-01-24T10:19:21.693Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00001, + "output": 0.00003 + } + } + ] + }, + { + "modelName": "gpt-4-32k", + "matchPattern": "(?i)^(openai/)?(gpt-4-32k)$", + "startDate": "2024-01-24T10:19:21.693Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00006, + "output": 0.00012 + } + } + ] + }, + { + "modelName": "gpt-4-32k-0613", + "matchPattern": "(?i)^(openai/)?(gpt-4-32k-0613)$", + "startDate": "2024-01-24T10:19:21.693Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00006, + "output": 0.00012 + } + } + ] + }, + { + "modelName": "gpt-3.5-turbo-1106", + "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-1106)$", + "startDate": "2024-01-24T10:19:21.693Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000001, + "output": 0.000002 + } + } + ] + }, + { + "modelName": "gpt-3.5-turbo-0613", + "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-0613)$", + "startDate": "2024-01-24T10:19:21.693Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000015, + "output": 0.000002 + } + } + ] + }, + { + "modelName": "gpt-4-0613", + "matchPattern": "(?i)^(openai/)?(gpt-4-0613)$", + "startDate": "2024-01-24T10:19:21.693Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00003, + "output": 0.00006 + } + } + ] + }, + { + "modelName": "gpt-3.5-turbo-instruct", + "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-instruct)$", + "startDate": "2024-01-24T10:19:21.693Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000015, + "output": 0.000002 + } + } + ] + }, + { + "modelName": "text-ada-001", + "matchPattern": "(?i)^(text-ada-001)$", + "startDate": "2024-01-24T18:18:50.861Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "total": 0.000004 + } + } + ] + }, + { + "modelName": "text-babbage-001", + "matchPattern": "(?i)^(text-babbage-001)$", + "startDate": "2024-01-24T18:18:50.861Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "total": 5e-7 + } + } + ] + }, + { + "modelName": "text-curie-001", + "matchPattern": "(?i)^(text-curie-001)$", + "startDate": "2024-01-24T18:18:50.861Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "total": 0.00002 + } + } + ] + }, + { + "modelName": "text-davinci-001", + "matchPattern": "(?i)^(text-davinci-001)$", + "startDate": "2024-01-24T18:18:50.861Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "total": 0.00002 + } + } + ] + }, + { + "modelName": "text-davinci-002", + "matchPattern": "(?i)^(text-davinci-002)$", + "startDate": "2024-01-24T18:18:50.861Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "total": 0.00002 + } + } + ] + }, + { + "modelName": "text-davinci-003", + "matchPattern": "(?i)^(text-davinci-003)$", + "startDate": "2024-01-24T18:18:50.861Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "total": 0.00002 + } + } + ] + }, + { + "modelName": "text-embedding-ada-002-v2", + "matchPattern": "(?i)^(text-embedding-ada-002-v2)$", + "startDate": "2024-01-24T18:18:50.861Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "total": 1e-7 + } + } + ] + }, + { + "modelName": "text-embedding-ada-002", + "matchPattern": "(?i)^(text-embedding-ada-002)$", + "startDate": "2024-01-24T18:18:50.861Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "total": 1e-7 + } + } + ] + }, + { + "modelName": "gpt-3.5-turbo-16k-0613", + "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-16k-0613)$", + "startDate": "2024-02-03T17:29:57.350Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000003, + "output": 0.000004 + } + } + ] + }, + { + "modelName": "gpt-3.5-turbo-0301", + "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-0301)$", + "startDate": "2024-01-24T10:19:21.693Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000002, + "output": 0.000002 + } + } + ] + }, + { + "modelName": "gpt-4-32k-0314", + "matchPattern": "(?i)^(openai/)?(gpt-4-32k-0314)$", + "startDate": "2024-01-24T10:19:21.693Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00006, + "output": 0.00012 + } + } + ] + }, + { + "modelName": "gpt-4-0314", + "matchPattern": "(?i)^(openai/)?(gpt-4-0314)$", + "startDate": "2024-01-24T10:19:21.693Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00003, + "output": 0.00006 + } + } + ] + }, + { + "modelName": "gpt-4", + "matchPattern": "(?i)^(openai/)?(gpt-4)$", + "startDate": "2024-01-24T10:19:21.693Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00003, + "output": 0.00006 + } + } + ] + }, + { + "modelName": "claude-instant-1.2", + "matchPattern": "(?i)^(anthropic/)?(claude-instant-1.2)$", + "startDate": "2024-01-30T15:44:13.447Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00000163, + "output": 0.00000551 + } + } + ] + }, + { + "modelName": "claude-2.0", + "matchPattern": "(?i)^(anthropic/)?(claude-2.0)$", + "startDate": "2024-01-30T15:44:13.447Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000008, + "output": 0.000024 + } + } + ] + }, + { + "modelName": "claude-2.1", + "matchPattern": "(?i)^(anthropic/)?(claude-2.1)$", + "startDate": "2024-01-30T15:44:13.447Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000008, + "output": 0.000024 + } + } + ] + }, + { + "modelName": "claude-1.3", + "matchPattern": "(?i)^(anthropic/)?(claude-1.3)$", + "startDate": "2024-01-30T15:44:13.447Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000008, + "output": 0.000024 + } + } + ] + }, + { + "modelName": "claude-1.2", + "matchPattern": "(?i)^(anthropic/)?(claude-1.2)$", + "startDate": "2024-01-30T15:44:13.447Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000008, + "output": 0.000024 + } + } + ] + }, + { + "modelName": "claude-1.1", + "matchPattern": "(?i)^(anthropic/)?(claude-1.1)$", + "startDate": "2024-01-30T15:44:13.447Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000008, + "output": 0.000024 + } + } + ] + }, + { + "modelName": "claude-instant-1", + "matchPattern": "(?i)^(anthropic/)?(claude-instant-1)$", + "startDate": "2024-01-30T15:44:13.447Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00000163, + "output": 0.00000551 + } + } + ] + }, + { + "modelName": "babbage-002", + "matchPattern": "(?i)^(babbage-002)$", + "startDate": "2024-01-26T17:35:21.129Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 4e-7, + "output": 0.0000016 + } + } + ] + }, + { + "modelName": "davinci-002", + "matchPattern": "(?i)^(davinci-002)$", + "startDate": "2024-01-26T17:35:21.129Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000006, + "output": 0.000012 + } + } + ] + }, + { + "modelName": "text-embedding-3-small", + "matchPattern": "(?i)^(text-embedding-3-small)$", + "startDate": "2024-01-26T17:35:21.129Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "total": 2e-8 + } + } + ] + }, + { + "modelName": "text-embedding-3-large", + "matchPattern": "(?i)^(text-embedding-3-large)$", + "startDate": "2024-01-26T17:35:21.129Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "total": 1.3e-7 + } + } + ] + }, + { + "modelName": "gpt-3.5-turbo-0125", + "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-0125)$", + "startDate": "2024-01-26T17:35:21.129Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 5e-7, + "output": 0.0000015 + } + } + ] + }, + { + "modelName": "gpt-3.5-turbo", + "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo)$", + "startDate": "2024-02-13T12:00:37.424Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 5e-7, + "output": 0.0000015 + } + } + ] + }, + { + "modelName": "gpt-4-0125-preview", + "matchPattern": "(?i)^(openai/)?(gpt-4-0125-preview)$", + "startDate": "2024-01-26T17:35:21.129Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00001, + "output": 0.00003 + } + } + ] + }, + { + "modelName": "ft:gpt-3.5-turbo-1106", + "matchPattern": "(?i)^(ft:)(gpt-3.5-turbo-1106:)(.+)(:)(.*)(:)(.+)$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000003, + "output": 0.000006 + } + } + ] + }, + { + "modelName": "ft:gpt-3.5-turbo-0613", + "matchPattern": "(?i)^(ft:)(gpt-3.5-turbo-0613:)(.+)(:)(.*)(:)(.+)$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000012, + "output": 0.000016 + } + } + ] + }, + { + "modelName": "ft:davinci-002", + "matchPattern": "(?i)^(ft:)(davinci-002:)(.+)(:)(.*)(:)(.+)$$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000012, + "output": 0.000012 + } + } + ] + }, + { + "modelName": "ft:babbage-002", + "matchPattern": "(?i)^(ft:)(babbage-002:)(.+)(:)(.*)(:)(.+)$$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000016, + "output": 0.0000016 + } + } + ] + }, + { + "modelName": "chat-bison", + "matchPattern": "(?i)^(chat-bison)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2.5e-7, + "output": 5e-7 + } + } + ] + }, + { + "modelName": "codechat-bison-32k", + "matchPattern": "(?i)^(codechat-bison-32k)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2.5e-7, + "output": 5e-7 + } + } + ] + }, + { + "modelName": "codechat-bison", + "matchPattern": "(?i)^(codechat-bison)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2.5e-7, + "output": 5e-7 + } + } + ] + }, + { + "modelName": "text-bison-32k", + "matchPattern": "(?i)^(text-bison-32k)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2.5e-7, + "output": 5e-7 + } + } + ] + }, + { + "modelName": "chat-bison-32k", + "matchPattern": "(?i)^(chat-bison-32k)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2.5e-7, + "output": 5e-7 + } + } + ] + }, + { + "modelName": "text-unicorn", + "matchPattern": "(?i)^(text-unicorn)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000025, + "output": 0.0000075 + } + } + ] + }, + { + "modelName": "text-bison", + "matchPattern": "(?i)^(text-bison)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2.5e-7, + "output": 5e-7 + } + } + ] + }, + { + "modelName": "textembedding-gecko", + "matchPattern": "(?i)^(textembedding-gecko)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "total": 1e-7 + } + } + ] + }, + { + "modelName": "textembedding-gecko-multilingual", + "matchPattern": "(?i)^(textembedding-gecko-multilingual)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "total": 1e-7 + } + } + ] + }, + { + "modelName": "code-gecko", + "matchPattern": "(?i)^(code-gecko)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2.5e-7, + "output": 5e-7 + } + } + ] + }, + { + "modelName": "code-bison", + "matchPattern": "(?i)^(code-bison)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2.5e-7, + "output": 5e-7 + } + } + ] + }, + { + "modelName": "code-bison-32k", + "matchPattern": "(?i)^(code-bison-32k)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-01-31T13:25:02.141Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2.5e-7, + "output": 5e-7 + } + } + ] + }, + { + "modelName": "gpt-3.5-turbo-16k", + "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-16k)$", + "startDate": "2024-02-13T12:00:37.424Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 5e-7, + "output": 0.0000015 + } + } + ] + }, + { + "modelName": "gpt-4-turbo-preview", + "matchPattern": "(?i)^(openai/)?(gpt-4-turbo-preview)$", + "startDate": "2024-02-15T21:21:50.947Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00001, + "output": 0.00003 + } + } + ] + }, + { + "modelName": "claude-3-opus-20240229", + "matchPattern": "(?i)^(anthropic/)?(claude-3-opus-20240229|anthropic\\.claude-3-opus-20240229-v1:0|claude-3-opus@20240229)$", + "startDate": "2024-03-07T17:55:38.139Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000015, + "output": 0.000075 + } + } + ] + }, + { + "modelName": "claude-3-sonnet-20240229", + "matchPattern": "(?i)^(anthropic/)?(claude-3-sonnet-20240229|anthropic\\.claude-3-sonnet-20240229-v1:0|claude-3-sonnet@20240229)$", + "startDate": "2024-03-07T17:55:38.139Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000003, + "input_tokens": 0.000003, + "output": 0.000015, + "output_tokens": 0.000015, + "cache_creation_input_tokens": 0.00000375, + "input_cache_creation": 0.00000375, + "input_cache_creation_5m": 0.00000375, + "input_cache_creation_1h": 0.000006, + "cache_read_input_tokens": 3e-7, + "input_cache_read": 3e-7 + } + } + ] + }, + { + "modelName": "claude-3-haiku-20240307", + "matchPattern": "(?i)^(anthropic/)?(claude-3-haiku-20240307|anthropic\\.claude-3-haiku-20240307-v1:0|claude-3-haiku@20240307)$", + "startDate": "2024-03-14T09:41:18.736Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2.5e-7, + "output": 0.00000125 + } + } + ] + }, + { + "modelName": "gemini-1.0-pro-latest", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-1.0-pro-latest)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-04-11T10:27:46.517Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2.5e-7, + "output": 5e-7 + } + } + ] + }, + { + "modelName": "gemini-1.0-pro", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-1.0-pro)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-04-11T10:27:46.517Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 1.25e-7, + "output": 3.75e-7 + } + } + ] + }, + { + "modelName": "gemini-1.0-pro-001", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-1.0-pro-001)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-04-11T10:27:46.517Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 1.25e-7, + "output": 3.75e-7 + } + } + ] + }, + { + "modelName": "gemini-pro", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-pro)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-04-11T10:27:46.517Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 1.25e-7, + "output": 3.75e-7 + } + } + ] + }, + { + "modelName": "gemini-1.5-pro-latest", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-1.5-pro-latest)(@[a-zA-Z0-9]+)?$", + "startDate": "2024-04-11T10:27:46.517Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000025, + "output": 0.0000075 + } + } + ] + }, + { + "modelName": "gpt-4-turbo-2024-04-09", + "matchPattern": "(?i)^(openai/)?(gpt-4-turbo-2024-04-09)$", + "startDate": "2024-04-23T10:37:17.092Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00001, + "output": 0.00003 + } + } + ] + }, + { + "modelName": "gpt-4-turbo", + "matchPattern": "(?i)^(openai/)?(gpt-4-turbo)$", + "startDate": "2024-04-11T21:13:44.989Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00001, + "output": 0.00003 + } + } + ] + }, + { + "modelName": "gpt-4-preview", + "matchPattern": "(?i)^(openai/)?(gpt-4-preview)$", + "startDate": "2024-04-23T10:37:17.092Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00001, + "output": 0.00003 + } + } + ] + }, + { + "modelName": "claude-3-5-sonnet-20240620", + "matchPattern": "(?i)^(anthropic/)?(claude-3-5-sonnet-20240620|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3-5-sonnet-20240620-v1:0|claude-3-5-sonnet@20240620)$", + "startDate": "2024-06-25T11:47:24.475Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000003, + "input_tokens": 0.000003, + "output": 0.000015, + "output_tokens": 0.000015, + "cache_creation_input_tokens": 0.00000375, + "input_cache_creation": 0.00000375, + "input_cache_creation_5m": 0.00000375, + "input_cache_creation_1h": 0.000006, + "cache_read_input_tokens": 3e-7, + "input_cache_read": 3e-7 + } + } + ] + }, + { + "modelName": "gpt-4o-mini", + "matchPattern": "(?i)^(openai/)?(gpt-4o-mini)$", + "startDate": "2024-07-18T17:56:09.591Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 1.5e-7, + "output": 6e-7, + "input_cached_tokens": 7.5e-8, + "input_cache_read": 7.5e-8 + } + } + ] + }, + { + "modelName": "gpt-4o-mini-2024-07-18", + "matchPattern": "(?i)^(openai/)?(gpt-4o-mini-2024-07-18)$", + "startDate": "2024-07-18T17:56:09.591Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 1.5e-7, + "input_cached_tokens": 7.5e-8, + "input_cache_read": 7.5e-8, + "output": 6e-7 + } + } + ] + }, + { + "modelName": "gpt-4o-2024-08-06", + "matchPattern": "(?i)^(openai/)?(gpt-4o-2024-08-06)$", + "startDate": "2024-08-07T11:54:31.298Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000025, + "input_cached_tokens": 0.00000125, + "input_cache_read": 0.00000125, + "output": 0.00001 + } + } + ] + }, + { + "modelName": "o1-preview", + "matchPattern": "(?i)^(openai/)?(o1-preview)$", + "startDate": "2024-09-13T10:01:35.373Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000015, + "input_cached_tokens": 0.0000075, + "input_cache_read": 0.0000075, + "output": 0.00006, + "output_reasoning_tokens": 0.00006, + "output_reasoning": 0.00006 + } + } + ] + }, + { + "modelName": "o1-preview-2024-09-12", + "matchPattern": "(?i)^(openai/)?(o1-preview-2024-09-12)$", + "startDate": "2024-09-13T10:01:35.373Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000015, + "input_cached_tokens": 0.0000075, + "input_cache_read": 0.0000075, + "output": 0.00006, + "output_reasoning_tokens": 0.00006, + "output_reasoning": 0.00006 + } + } + ] + }, + { + "modelName": "o1-mini", + "matchPattern": "(?i)^(openai/)?(o1-mini)$", + "startDate": "2024-09-13T10:01:35.373Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000011, + "input_cached_tokens": 5.5e-7, + "input_cache_read": 5.5e-7, + "output": 0.0000044, + "output_reasoning_tokens": 0.0000044, + "output_reasoning": 0.0000044 + } + } + ] + }, + { + "modelName": "o1-mini-2024-09-12", + "matchPattern": "(?i)^(openai/)?(o1-mini-2024-09-12)$", + "startDate": "2024-09-13T10:01:35.373Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000011, + "input_cached_tokens": 5.5e-7, + "input_cache_read": 5.5e-7, + "output": 0.0000044, + "output_reasoning_tokens": 0.0000044, + "output_reasoning": 0.0000044 + } + } + ] + }, + { + "modelName": "claude-3.5-sonnet-20241022", + "matchPattern": "(?i)^(anthropic/)?(claude-3-5-sonnet-20241022|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3-5-sonnet-20241022-v2:0|claude-3-5-sonnet-V2@20241022)$", + "startDate": "2024-10-22T18:48:01.676Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000003, + "input_tokens": 0.000003, + "output": 0.000015, + "output_tokens": 0.000015, + "cache_creation_input_tokens": 0.00000375, + "input_cache_creation": 0.00000375, + "input_cache_creation_5m": 0.00000375, + "input_cache_creation_1h": 0.000006, + "cache_read_input_tokens": 3e-7, + "input_cache_read": 3e-7 + } + } + ] + }, + { + "modelName": "claude-3.5-sonnet-latest", + "matchPattern": "(?i)^(anthropic/)?(claude-3-5-sonnet-latest)$", + "startDate": "2024-10-22T18:48:01.676Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000003, + "input_tokens": 0.000003, + "output": 0.000015, + "output_tokens": 0.000015, + "cache_creation_input_tokens": 0.00000375, + "input_cache_creation": 0.00000375, + "input_cache_creation_5m": 0.00000375, + "input_cache_creation_1h": 0.000006, + "cache_read_input_tokens": 3e-7, + "input_cache_read": 3e-7 + } + } + ] + }, + { + "modelName": "claude-3-5-haiku-20241022", + "matchPattern": "(?i)^(anthropic/)?(claude-3-5-haiku-20241022|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3-5-haiku-20241022-v1:0|claude-3-5-haiku-V1@20241022)$", + "startDate": "2024-11-05T10:30:50.566Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 8e-7, + "input_tokens": 8e-7, + "output": 0.000004, + "output_tokens": 0.000004, + "cache_creation_input_tokens": 0.000001, + "input_cache_creation": 0.000001, + "input_cache_creation_5m": 0.000001, + "input_cache_creation_1h": 0.0000016, + "cache_read_input_tokens": 8e-8, + "input_cache_read": 8e-8 + } + } + ] + }, + { + "modelName": "claude-3.5-haiku-latest", + "matchPattern": "(?i)^(anthropic/)?(claude-3-5-haiku-latest)$", + "startDate": "2024-11-05T10:30:50.566Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 8e-7, + "input_tokens": 8e-7, + "output": 0.000004, + "output_tokens": 0.000004, + "cache_creation_input_tokens": 0.000001, + "input_cache_creation": 0.000001, + "input_cache_creation_5m": 0.000001, + "input_cache_creation_1h": 0.0000016, + "cache_read_input_tokens": 8e-8, + "input_cache_read": 8e-8 + } + } + ] + }, + { + "modelName": "chatgpt-4o-latest", + "matchPattern": "(?i)^(chatgpt-4o-latest)$", + "startDate": "2024-11-25T12:47:17.504Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000005, + "output": 0.000015 + } + } + ] + }, + { + "modelName": "gpt-4o-2024-11-20", + "matchPattern": "(?i)^(openai/)?(gpt-4o-2024-11-20)$", + "startDate": "2024-12-03T10:06:12.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000025, + "input_cached_tokens": 0.00000125, + "input_cache_read": 0.00000125, + "output": 0.00001 + } + } + ] + }, + { + "modelName": "gpt-4o-audio-preview", + "matchPattern": "(?i)^(openai/)?(gpt-4o-audio-preview)$", + "startDate": "2024-12-03T10:19:56.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input_text_tokens": 0.0000025, + "output_text_tokens": 0.00001, + "input_audio_tokens": 0.0001, + "input_audio": 0.0001, + "output_audio_tokens": 0.0002, + "output_audio": 0.0002 + } + } + ] + }, + { + "modelName": "gpt-4o-audio-preview-2024-10-01", + "matchPattern": "(?i)^(openai/)?(gpt-4o-audio-preview-2024-10-01)$", + "startDate": "2024-12-03T10:19:56.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input_text_tokens": 0.0000025, + "output_text_tokens": 0.00001, + "input_audio_tokens": 0.0001, + "input_audio": 0.0001, + "output_audio_tokens": 0.0002, + "output_audio": 0.0002 + } + } + ] + }, + { + "modelName": "gpt-4o-realtime-preview", + "matchPattern": "(?i)^(openai/)?(gpt-4o-realtime-preview)$", + "startDate": "2024-12-03T10:19:56.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input_text_tokens": 0.000005, + "input_cached_text_tokens": 0.0000025, + "output_text_tokens": 0.00002, + "input_audio_tokens": 0.0001, + "input_audio": 0.0001, + "input_cached_audio_tokens": 0.00002, + "output_audio_tokens": 0.0002, + "output_audio": 0.0002 + } + } + ] + }, + { + "modelName": "gpt-4o-realtime-preview-2024-10-01", + "matchPattern": "(?i)^(openai/)?(gpt-4o-realtime-preview-2024-10-01)$", + "startDate": "2024-12-03T10:19:56.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input_text_tokens": 0.000005, + "input_cached_text_tokens": 0.0000025, + "output_text_tokens": 0.00002, + "input_audio_tokens": 0.0001, + "input_audio": 0.0001, + "input_cached_audio_tokens": 0.00002, + "output_audio_tokens": 0.0002, + "output_audio": 0.0002 + } + } + ] + }, + { + "modelName": "o1", + "matchPattern": "(?i)^(openai/)?(o1)$", + "startDate": "2025-01-17T00:01:35.373Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000015, + "input_cached_tokens": 0.0000075, + "input_cache_read": 0.0000075, + "output": 0.00006, + "output_reasoning_tokens": 0.00006, + "output_reasoning": 0.00006 + } + } + ] + }, + { + "modelName": "o1-2024-12-17", + "matchPattern": "(?i)^(openai/)?(o1-2024-12-17)$", + "startDate": "2025-01-17T00:01:35.373Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000015, + "input_cached_tokens": 0.0000075, + "input_cache_read": 0.0000075, + "output": 0.00006, + "output_reasoning_tokens": 0.00006, + "output_reasoning": 0.00006 + } + } + ] + }, + { + "modelName": "o3-mini", + "matchPattern": "(?i)^(openai/)?(o3-mini)$", + "startDate": "2025-01-31T20:41:35.373Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000011, + "input_cached_tokens": 5.5e-7, + "input_cache_read": 5.5e-7, + "output": 0.0000044, + "output_reasoning_tokens": 0.0000044, + "output_reasoning": 0.0000044 + } + } + ] + }, + { + "modelName": "o3-mini-2025-01-31", + "matchPattern": "(?i)^(openai/)?(o3-mini-2025-01-31)$", + "startDate": "2025-01-31T20:41:35.373Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000011, + "input_cached_tokens": 5.5e-7, + "input_cache_read": 5.5e-7, + "output": 0.0000044, + "output_reasoning_tokens": 0.0000044, + "output_reasoning": 0.0000044 + } + } + ] + }, + { + "modelName": "gemini-2.0-flash-001", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-2.0-flash-001)(@[a-zA-Z0-9]+)?$", + "startDate": "2025-02-06T11:11:35.241Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 1e-7, + "output": 4e-7 + } + } + ] + }, + { + "modelName": "gemini-2.0-flash-lite-preview-02-05", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-2.0-flash-lite-preview-02-05)(@[a-zA-Z0-9]+)?$", + "startDate": "2025-02-06T11:11:35.241Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 7.5e-8, + "output": 3e-7 + } + } + ] + }, + { + "modelName": "claude-3.7-sonnet-20250219", + "matchPattern": "(?i)^(anthropic/)?(claude-3.7-sonnet-20250219|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3.7-sonnet-20250219-v1:0|claude-3-7-sonnet-V1@20250219)$", + "startDate": "2025-02-25T09:35:39.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000003, + "input_tokens": 0.000003, + "output": 0.000015, + "output_tokens": 0.000015, + "cache_creation_input_tokens": 0.00000375, + "input_cache_creation": 0.00000375, + "input_cache_creation_5m": 0.00000375, + "input_cache_creation_1h": 0.000006, + "cache_read_input_tokens": 3e-7, + "input_cache_read": 3e-7 + } + } + ] + }, + { + "modelName": "claude-3.7-sonnet-latest", + "matchPattern": "(?i)^(anthropic/)?(claude-3-7-sonnet-latest)$", + "startDate": "2025-02-25T09:35:39.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000003, + "input_tokens": 0.000003, + "output": 0.000015, + "output_tokens": 0.000015, + "cache_creation_input_tokens": 0.00000375, + "input_cache_creation": 0.00000375, + "input_cache_creation_5m": 0.00000375, + "input_cache_creation_1h": 0.000006, + "cache_read_input_tokens": 3e-7, + "input_cache_read": 3e-7 + } + } + ] + }, + { + "modelName": "gpt-4.5-preview", + "matchPattern": "(?i)^(openai/)?(gpt-4.5-preview)$", + "startDate": "2025-02-27T21:26:54.132Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000075, + "input_cached_tokens": 0.0000375, + "input_cached_text_tokens": 0.0000375, + "input_cache_read": 0.0000375, + "output": 0.00015 + } + } + ] + }, + { + "modelName": "gpt-4.5-preview-2025-02-27", + "matchPattern": "(?i)^(openai/)?(gpt-4.5-preview-2025-02-27)$", + "startDate": "2025-02-27T21:26:54.132Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000075, + "input_cached_tokens": 0.0000375, + "input_cached_text_tokens": 0.0000375, + "input_cache_read": 0.0000375, + "output": 0.00015 + } + } + ] + }, + { + "modelName": "gpt-4.1", + "matchPattern": "(?i)^(openai/)?(gpt-4.1)$", + "startDate": "2025-04-15T10:26:54.132Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000002, + "input_cached_tokens": 5e-7, + "input_cached_text_tokens": 5e-7, + "input_cache_read": 5e-7, + "output": 0.000008 + } + } + ] + }, + { + "modelName": "gpt-4.1-2025-04-14", + "matchPattern": "(?i)^(openai/)?(gpt-4.1-2025-04-14)$", + "startDate": "2025-04-15T10:26:54.132Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000002, + "input_cached_tokens": 5e-7, + "input_cached_text_tokens": 5e-7, + "input_cache_read": 5e-7, + "output": 0.000008 + } + } + ] + }, + { + "modelName": "gpt-4.1-mini-2025-04-14", + "matchPattern": "(?i)^(openai/)?(gpt-4.1-mini-2025-04-14)$", + "startDate": "2025-04-15T10:26:54.132Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 4e-7, + "input_cached_tokens": 1e-7, + "input_cached_text_tokens": 1e-7, + "input_cache_read": 1e-7, + "output": 0.0000016 + } + } + ] + }, + { + "modelName": "gpt-4.1-nano-2025-04-14", + "matchPattern": "(?i)^(openai/)?(gpt-4.1-nano-2025-04-14)$", + "startDate": "2025-04-15T10:26:54.132Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 1e-7, + "input_cached_tokens": 2.5e-8, + "input_cached_text_tokens": 2.5e-8, + "input_cache_read": 2.5e-8, + "output": 4e-7 + } + } + ] + }, + { + "modelName": "o3", + "matchPattern": "(?i)^(openai/)?(o3)$", + "startDate": "2025-04-16T23:26:54.132Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000002, + "input_cached_tokens": 5e-7, + "input_cache_read": 5e-7, + "output": 0.000008, + "output_reasoning_tokens": 0.000008, + "output_reasoning": 0.000008 + } + } + ] + }, + { + "modelName": "o3-2025-04-16", + "matchPattern": "(?i)^(openai/)?(o3-2025-04-16)$", + "startDate": "2025-04-16T23:26:54.132Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000002, + "input_cached_tokens": 5e-7, + "input_cache_read": 5e-7, + "output": 0.000008, + "output_reasoning_tokens": 0.000008, + "output_reasoning": 0.000008 + } + } + ] + }, + { + "modelName": "o4-mini", + "matchPattern": "(?i)^(o4-mini)$", + "startDate": "2025-04-16T23:26:54.132Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000011, + "input_cached_tokens": 2.75e-7, + "input_cache_read": 2.75e-7, + "output": 0.0000044, + "output_reasoning_tokens": 0.0000044, + "output_reasoning": 0.0000044 + } + } + ] + }, + { + "modelName": "o4-mini-2025-04-16", + "matchPattern": "(?i)^(o4-mini-2025-04-16)$", + "startDate": "2025-04-16T23:26:54.132Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000011, + "input_cached_tokens": 2.75e-7, + "input_cache_read": 2.75e-7, + "output": 0.0000044, + "output_reasoning_tokens": 0.0000044, + "output_reasoning": 0.0000044 + } + } + ] + }, + { + "modelName": "gemini-2.0-flash", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-2.0-flash)(@[a-zA-Z0-9]+)?$", + "startDate": "2025-04-22T10:11:35.241Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 1e-7, + "output": 4e-7 + } + } + ] + }, + { + "modelName": "gemini-2.0-flash-lite-preview", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-2.0-flash-lite-preview)(@[a-zA-Z0-9]+)?$", + "startDate": "2025-04-22T10:11:35.241Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 7.5e-8, + "output": 3e-7 + } + } + ] + }, + { + "modelName": "gpt-4.1-nano", + "matchPattern": "(?i)^(openai/)?(gpt-4.1-nano)$", + "startDate": "2025-04-22T10:11:35.241Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 1e-7, + "input_cached_tokens": 2.5e-8, + "input_cached_text_tokens": 2.5e-8, + "input_cache_read": 2.5e-8, + "output": 4e-7 + } + } + ] + }, + { + "modelName": "gpt-4.1-mini", + "matchPattern": "(?i)^(openai/)?(gpt-4.1-mini)$", + "startDate": "2025-04-22T10:11:35.241Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 4e-7, + "input_cached_tokens": 1e-7, + "input_cached_text_tokens": 1e-7, + "input_cache_read": 1e-7, + "output": 0.0000016 + } + } + ] + }, + { + "modelName": "claude-sonnet-4-5-20250929", + "matchPattern": "(?i)^(anthropic/)?(claude-sonnet-4-5(-20250929)?|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-sonnet-4-5(-20250929)?-v1(:0)?|claude-sonnet-4-5-V1(@20250929)?|claude-sonnet-4-5(@20250929)?)$", + "startDate": "2025-09-29T00:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000003, + "input_tokens": 0.000003, + "output": 0.000015, + "output_tokens": 0.000015, + "cache_creation_input_tokens": 0.00000375, + "input_cache_creation": 0.00000375, + "input_cache_creation_5m": 0.00000375, + "input_cache_creation_1h": 0.000006, + "cache_read_input_tokens": 3e-7, + "input_cache_read": 3e-7 + } + }, + { + "name": "Large Context", + "isDefault": false, + "priority": 1, + "conditions": [ { - usageDetailPattern: "input", - operator: "gt", - value: 200000, - }, + "usageDetailPattern": "input", + "operator": "gt", + "value": 200000 + } ], - prices: { - input: 0.000006, - input_tokens: 0.000006, - output: 0.0000225, - output_tokens: 0.0000225, - cache_creation_input_tokens: 0.0000075, - input_cache_creation: 0.0000075, - input_cache_creation_5m: 0.0000075, - input_cache_creation_1h: 0.000012, - cache_read_input_tokens: 6e-7, - input_cache_read: 6e-7, - }, - }, - ], - }, - { - modelName: "claude-sonnet-4-20250514", - matchPattern: - "(?i)^(anthropic/)?(claude-sonnet-4(-20250514)?|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-sonnet-4(-20250514)?-v1(:0)?|claude-sonnet-4-V1(@20250514)?|claude-sonnet-4(@20250514)?)$", - startDate: "2025-05-22T17:09:02.131Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000003, - input_tokens: 0.000003, - output: 0.000015, - output_tokens: 0.000015, - cache_creation_input_tokens: 0.00000375, - input_cache_creation: 0.00000375, - input_cache_creation_5m: 0.00000375, - input_cache_creation_1h: 0.000006, - cache_read_input_tokens: 3e-7, - input_cache_read: 3e-7, - }, - }, - ], - }, - { - modelName: "claude-sonnet-4-latest", - matchPattern: "(?i)^(anthropic/)?(claude-sonnet-4-latest)$", - startDate: "2025-05-22T17:09:02.131Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000003, - input_tokens: 0.000003, - output: 0.000015, - output_tokens: 0.000015, - cache_creation_input_tokens: 0.00000375, - input_cache_creation: 0.00000375, - input_cache_creation_5m: 0.00000375, - input_cache_creation_1h: 0.000006, - cache_read_input_tokens: 3e-7, - input_cache_read: 3e-7, - }, - }, - ], - }, - { - modelName: "claude-opus-4-20250514", - matchPattern: - "(?i)^(anthropic/)?(claude-opus-4(-20250514)?|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-opus-4(-20250514)?-v1(:0)?|claude-opus-4(@20250514)?)$", - startDate: "2025-05-22T17:09:02.131Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000015, - input_tokens: 0.000015, - output: 0.000075, - output_tokens: 0.000075, - cache_creation_input_tokens: 0.00001875, - input_cache_creation: 0.00001875, - input_cache_creation_5m: 0.00001875, - input_cache_creation_1h: 0.00003, - cache_read_input_tokens: 0.0000015, - input_cache_read: 0.0000015, - }, - }, - ], - }, - { - modelName: "o3-pro", - matchPattern: "(?i)^(openai/)?(o3-pro)$", - startDate: "2025-06-10T22:26:54.132Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00002, - output: 0.00008, - output_reasoning_tokens: 0.00008, - output_reasoning: 0.00008, - }, - }, - ], - }, - { - modelName: "o3-pro-2025-06-10", - matchPattern: "(?i)^(openai/)?(o3-pro-2025-06-10)$", - startDate: "2025-06-10T22:26:54.132Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00002, - output: 0.00008, - output_reasoning_tokens: 0.00008, - output_reasoning: 0.00008, - }, - }, - ], - }, - { - modelName: "o1-pro", - matchPattern: "(?i)^(openai/)?(o1-pro)$", - startDate: "2025-06-10T22:26:54.132Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00015, - output: 0.0006, - output_reasoning_tokens: 0.0006, - output_reasoning: 0.0006, - }, - }, - ], - }, - { - modelName: "o1-pro-2025-03-19", - matchPattern: "(?i)^(openai/)?(o1-pro-2025-03-19)$", - startDate: "2025-06-10T22:26:54.132Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00015, - output: 0.0006, - output_reasoning_tokens: 0.0006, - output_reasoning: 0.0006, - }, - }, - ], - }, - { - modelName: "gemini-2.5-flash", - matchPattern: "(?i)^(google(ai)?/)?(gemini-2.5-flash)$", - startDate: "2025-07-03T13:44:06.964Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 3e-7, - input_text: 3e-7, - input_modality_1: 3e-7, - prompt_token_count: 3e-7, - promptTokenCount: 3e-7, - input_cached_tokens: 3e-8, - cached_content_token_count: 3e-8, - output: 0.0000025, - output_text: 0.0000025, - output_modality_1: 0.0000025, - candidates_token_count: 0.0000025, - candidatesTokenCount: 0.0000025, - thoughtsTokenCount: 0.0000025, - thoughts_token_count: 0.0000025, - output_reasoning: 0.0000025, - input_audio_tokens: 0.000001, - }, - }, - ], - }, - { - modelName: "gemini-2.5-flash-lite", - matchPattern: "(?i)^(google(ai)?/)?(gemini-2.5-flash-lite)$", - startDate: "2025-07-03T13:44:06.964Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 1e-7, - input_text: 1e-7, - input_modality_1: 1e-7, - prompt_token_count: 1e-7, - promptTokenCount: 1e-7, - input_cached_tokens: 2.5e-8, - cached_content_token_count: 2.5e-8, - output: 4e-7, - output_text: 4e-7, - output_modality_1: 4e-7, - candidates_token_count: 4e-7, - candidatesTokenCount: 4e-7, - thoughtsTokenCount: 4e-7, - thoughts_token_count: 4e-7, - output_reasoning: 4e-7, - input_audio_tokens: 5e-7, - }, - }, - ], - }, - { - modelName: "claude-opus-4-1-20250805", - matchPattern: - "(?i)^(anthropic/)?(claude-opus-4-1(-20250805)?|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-opus-4-1(-20250805)?-v1(:0)?|claude-opus-4-1(@20250805)?)$", - startDate: "2025-08-05T15:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000015, - input_tokens: 0.000015, - output: 0.000075, - output_tokens: 0.000075, - cache_creation_input_tokens: 0.00001875, - input_cache_creation: 0.00001875, - input_cache_creation_5m: 0.00001875, - input_cache_creation_1h: 0.00003, - cache_read_input_tokens: 0.0000015, - input_cache_read: 0.0000015, - }, - }, - ], - }, - { - modelName: "gpt-5", - matchPattern: "(?i)^(openai/)?(gpt-5)$", - startDate: "2025-08-07T16:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00000125, - input_cached_tokens: 1.25e-7, - output: 0.00001, - input_cache_read: 1.25e-7, - output_reasoning_tokens: 0.00001, - output_reasoning: 0.00001, - }, - }, - ], - }, - { - modelName: "gpt-5-2025-08-07", - matchPattern: "(?i)^(openai/)?(gpt-5-2025-08-07)$", - startDate: "2025-08-11T08:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00000125, - input_cached_tokens: 1.25e-7, - output: 0.00001, - input_cache_read: 1.25e-7, - output_reasoning_tokens: 0.00001, - output_reasoning: 0.00001, - }, - }, - ], - }, - { - modelName: "gpt-5-mini", - matchPattern: "(?i)^(openai/)?(gpt-5-mini)$", - startDate: "2025-08-07T16:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2.5e-7, - input_cached_tokens: 2.5e-8, - output: 0.000002, - input_cache_read: 2.5e-8, - output_reasoning_tokens: 0.000002, - output_reasoning: 0.000002, - }, - }, - ], - }, - { - modelName: "gpt-5-mini-2025-08-07", - matchPattern: "(?i)^(openai/)?(gpt-5-mini-2025-08-07)$", - startDate: "2025-08-11T08:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2.5e-7, - input_cached_tokens: 2.5e-8, - output: 0.000002, - input_cache_read: 2.5e-8, - output_reasoning_tokens: 0.000002, - output_reasoning: 0.000002, - }, - }, - ], - }, - { - modelName: "gpt-5-nano", - matchPattern: "(?i)^(openai/)?(gpt-5-nano)$", - startDate: "2025-08-07T16:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 5e-8, - input_cached_tokens: 5e-9, - output: 4e-7, - input_cache_read: 5e-9, - output_reasoning_tokens: 4e-7, - output_reasoning: 4e-7, - }, - }, - ], - }, - { - modelName: "gpt-5-nano-2025-08-07", - matchPattern: "(?i)^(openai/)?(gpt-5-nano-2025-08-07)$", - startDate: "2025-08-11T08:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 5e-8, - input_cached_tokens: 5e-9, - output: 4e-7, - input_cache_read: 5e-9, - output_reasoning_tokens: 4e-7, - output_reasoning: 4e-7, - }, - }, - ], - }, - { - modelName: "gpt-5-chat-latest", - matchPattern: "(?i)^(openai/)?(gpt-5-chat-latest)$", - startDate: "2025-08-07T16:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00000125, - input_cached_tokens: 1.25e-7, - output: 0.00001, - input_cache_read: 1.25e-7, - output_reasoning_tokens: 0.00001, - output_reasoning: 0.00001, - }, - }, - ], - }, - { - modelName: "gpt-5-pro", - matchPattern: "(?i)^(openai/)?(gpt-5-pro)$", - startDate: "2025-10-07T08:03:54.727Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000015, - output: 0.00012, - output_reasoning_tokens: 0.00012, - output_reasoning: 0.00012, - }, - }, - ], - }, - { - modelName: "gpt-5-pro-2025-10-06", - matchPattern: "(?i)^(openai/)?(gpt-5-pro-2025-10-06)$", - startDate: "2025-10-07T08:03:54.727Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000015, - output: 0.00012, - output_reasoning_tokens: 0.00012, - output_reasoning: 0.00012, - }, - }, - ], - }, - { - modelName: "claude-haiku-4-5-20251001", - matchPattern: - "(?i)^(anthropic/)?(claude-haiku-4-5-20251001|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-haiku-4-5-20251001-v1:0|claude-4-5-haiku@20251001)$", - startDate: "2025-10-16T08:20:44.558Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000001, - input_tokens: 0.000001, - output: 0.000005, - output_tokens: 0.000005, - cache_creation_input_tokens: 0.00000125, - input_cache_creation: 0.00000125, - input_cache_creation_5m: 0.00000125, - input_cache_creation_1h: 0.000002, - cache_read_input_tokens: 1e-7, - input_cache_read: 1e-7, - }, - }, - ], - }, - { - modelName: "gpt-5.1", - matchPattern: "(?i)^(openai/)?(gpt-5.1)$", - startDate: "2025-11-14T08:57:23.481Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00000125, - input_cached_tokens: 1.25e-7, - output: 0.00001, - input_cache_read: 1.25e-7, - output_reasoning_tokens: 0.00001, - output_reasoning: 0.00001, - }, - }, - ], - }, - { - modelName: "gpt-5.1-2025-11-13", - matchPattern: "(?i)^(openai/)?(gpt-5.1-2025-11-13)$", - startDate: "2025-11-14T08:57:23.481Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00000125, - input_cached_tokens: 1.25e-7, - output: 0.00001, - input_cache_read: 1.25e-7, - output_reasoning_tokens: 0.00001, - output_reasoning: 0.00001, - }, - }, - ], - }, - { - modelName: "claude-opus-4-5-20251101", - matchPattern: - "(?i)^(anthropic/)?(claude-opus-4-5(-20251101)?|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-opus-4-5(-20251101)?-v1(:0)?|claude-opus-4-5(@20251101)?)$", - startDate: "2025-11-24T20:53:27.571Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000005, - input_tokens: 0.000005, - output: 0.000025, - output_tokens: 0.000025, - cache_creation_input_tokens: 0.00000625, - input_cache_creation: 0.00000625, - input_cache_creation_5m: 0.00000625, - input_cache_creation_1h: 0.00001, - cache_read_input_tokens: 5e-7, - input_cache_read: 5e-7, - }, - }, - ], - }, - { - modelName: "claude-sonnet-4-6", - matchPattern: - "(?i)^(anthropic\\/)?(claude-sonnet-4-6|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-sonnet-4-6(-v1(:0)?)?|claude-sonnet-4-6)$", - startDate: "2026-02-18T00:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000003, - input_tokens: 0.000003, - output: 0.000015, - output_tokens: 0.000015, - cache_creation_input_tokens: 0.00000375, - input_cache_creation: 0.00000375, - input_cache_creation_5m: 0.00000375, - input_cache_creation_1h: 0.000006, - cache_read_input_tokens: 3e-7, - input_cache_read: 3e-7, - }, - }, - { - name: "Large Context", - isDefault: false, - priority: 1, - conditions: [ + "prices": { + "input": 0.000006, + "input_tokens": 0.000006, + "output": 0.0000225, + "output_tokens": 0.0000225, + "cache_creation_input_tokens": 0.0000075, + "input_cache_creation": 0.0000075, + "input_cache_creation_5m": 0.0000075, + "input_cache_creation_1h": 0.000012, + "cache_read_input_tokens": 6e-7, + "input_cache_read": 6e-7 + } + } + ] + }, + { + "modelName": "claude-sonnet-4-20250514", + "matchPattern": "(?i)^(anthropic/)?(claude-sonnet-4(-20250514)?|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-sonnet-4(-20250514)?-v1(:0)?|claude-sonnet-4-V1(@20250514)?|claude-sonnet-4(@20250514)?)$", + "startDate": "2025-05-22T17:09:02.131Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000003, + "input_tokens": 0.000003, + "output": 0.000015, + "output_tokens": 0.000015, + "cache_creation_input_tokens": 0.00000375, + "input_cache_creation": 0.00000375, + "input_cache_creation_5m": 0.00000375, + "input_cache_creation_1h": 0.000006, + "cache_read_input_tokens": 3e-7, + "input_cache_read": 3e-7 + } + } + ] + }, + { + "modelName": "claude-sonnet-4-latest", + "matchPattern": "(?i)^(anthropic/)?(claude-sonnet-4-latest)$", + "startDate": "2025-05-22T17:09:02.131Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000003, + "input_tokens": 0.000003, + "output": 0.000015, + "output_tokens": 0.000015, + "cache_creation_input_tokens": 0.00000375, + "input_cache_creation": 0.00000375, + "input_cache_creation_5m": 0.00000375, + "input_cache_creation_1h": 0.000006, + "cache_read_input_tokens": 3e-7, + "input_cache_read": 3e-7 + } + } + ] + }, + { + "modelName": "claude-opus-4-20250514", + "matchPattern": "(?i)^(anthropic/)?(claude-opus-4(-20250514)?|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-opus-4(-20250514)?-v1(:0)?|claude-opus-4(@20250514)?)$", + "startDate": "2025-05-22T17:09:02.131Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000015, + "input_tokens": 0.000015, + "output": 0.000075, + "output_tokens": 0.000075, + "cache_creation_input_tokens": 0.00001875, + "input_cache_creation": 0.00001875, + "input_cache_creation_5m": 0.00001875, + "input_cache_creation_1h": 0.00003, + "cache_read_input_tokens": 0.0000015, + "input_cache_read": 0.0000015 + } + } + ] + }, + { + "modelName": "o3-pro", + "matchPattern": "(?i)^(openai/)?(o3-pro)$", + "startDate": "2025-06-10T22:26:54.132Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00002, + "output": 0.00008, + "output_reasoning_tokens": 0.00008, + "output_reasoning": 0.00008 + } + } + ] + }, + { + "modelName": "o3-pro-2025-06-10", + "matchPattern": "(?i)^(openai/)?(o3-pro-2025-06-10)$", + "startDate": "2025-06-10T22:26:54.132Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00002, + "output": 0.00008, + "output_reasoning_tokens": 0.00008, + "output_reasoning": 0.00008 + } + } + ] + }, + { + "modelName": "o1-pro", + "matchPattern": "(?i)^(openai/)?(o1-pro)$", + "startDate": "2025-06-10T22:26:54.132Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00015, + "output": 0.0006, + "output_reasoning_tokens": 0.0006, + "output_reasoning": 0.0006 + } + } + ] + }, + { + "modelName": "o1-pro-2025-03-19", + "matchPattern": "(?i)^(openai/)?(o1-pro-2025-03-19)$", + "startDate": "2025-06-10T22:26:54.132Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00015, + "output": 0.0006, + "output_reasoning_tokens": 0.0006, + "output_reasoning": 0.0006 + } + } + ] + }, + { + "modelName": "gemini-2.5-flash", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-2.5-flash)$", + "startDate": "2025-07-03T13:44:06.964Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 3e-7, + "input_text": 3e-7, + "input_modality_1": 3e-7, + "prompt_token_count": 3e-7, + "promptTokenCount": 3e-7, + "input_cached_tokens": 3e-8, + "cached_content_token_count": 3e-8, + "output": 0.0000025, + "output_text": 0.0000025, + "output_modality_1": 0.0000025, + "candidates_token_count": 0.0000025, + "candidatesTokenCount": 0.0000025, + "thoughtsTokenCount": 0.0000025, + "thoughts_token_count": 0.0000025, + "output_reasoning": 0.0000025, + "input_audio_tokens": 0.000001 + } + } + ] + }, + { + "modelName": "gemini-2.5-flash-lite", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-2.5-flash-lite)$", + "startDate": "2025-07-03T13:44:06.964Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 1e-7, + "input_text": 1e-7, + "input_modality_1": 1e-7, + "prompt_token_count": 1e-7, + "promptTokenCount": 1e-7, + "input_cached_tokens": 2.5e-8, + "cached_content_token_count": 2.5e-8, + "output": 4e-7, + "output_text": 4e-7, + "output_modality_1": 4e-7, + "candidates_token_count": 4e-7, + "candidatesTokenCount": 4e-7, + "thoughtsTokenCount": 4e-7, + "thoughts_token_count": 4e-7, + "output_reasoning": 4e-7, + "input_audio_tokens": 5e-7 + } + } + ] + }, + { + "modelName": "claude-opus-4-1-20250805", + "matchPattern": "(?i)^(anthropic/)?(claude-opus-4-1(-20250805)?|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-opus-4-1(-20250805)?-v1(:0)?|claude-opus-4-1(@20250805)?)$", + "startDate": "2025-08-05T15:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000015, + "input_tokens": 0.000015, + "output": 0.000075, + "output_tokens": 0.000075, + "cache_creation_input_tokens": 0.00001875, + "input_cache_creation": 0.00001875, + "input_cache_creation_5m": 0.00001875, + "input_cache_creation_1h": 0.00003, + "cache_read_input_tokens": 0.0000015, + "input_cache_read": 0.0000015 + } + } + ] + }, + { + "modelName": "gpt-5", + "matchPattern": "(?i)^(openai/)?(gpt-5)$", + "startDate": "2025-08-07T16:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00000125, + "input_cached_tokens": 1.25e-7, + "output": 0.00001, + "input_cache_read": 1.25e-7, + "output_reasoning_tokens": 0.00001, + "output_reasoning": 0.00001 + } + } + ] + }, + { + "modelName": "gpt-5-2025-08-07", + "matchPattern": "(?i)^(openai/)?(gpt-5-2025-08-07)$", + "startDate": "2025-08-11T08:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00000125, + "input_cached_tokens": 1.25e-7, + "output": 0.00001, + "input_cache_read": 1.25e-7, + "output_reasoning_tokens": 0.00001, + "output_reasoning": 0.00001 + } + } + ] + }, + { + "modelName": "gpt-5-mini", + "matchPattern": "(?i)^(openai/)?(gpt-5-mini)$", + "startDate": "2025-08-07T16:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2.5e-7, + "input_cached_tokens": 2.5e-8, + "output": 0.000002, + "input_cache_read": 2.5e-8, + "output_reasoning_tokens": 0.000002, + "output_reasoning": 0.000002 + } + } + ] + }, + { + "modelName": "gpt-5-mini-2025-08-07", + "matchPattern": "(?i)^(openai/)?(gpt-5-mini-2025-08-07)$", + "startDate": "2025-08-11T08:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2.5e-7, + "input_cached_tokens": 2.5e-8, + "output": 0.000002, + "input_cache_read": 2.5e-8, + "output_reasoning_tokens": 0.000002, + "output_reasoning": 0.000002 + } + } + ] + }, + { + "modelName": "gpt-5-nano", + "matchPattern": "(?i)^(openai/)?(gpt-5-nano)$", + "startDate": "2025-08-07T16:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 5e-8, + "input_cached_tokens": 5e-9, + "output": 4e-7, + "input_cache_read": 5e-9, + "output_reasoning_tokens": 4e-7, + "output_reasoning": 4e-7 + } + } + ] + }, + { + "modelName": "gpt-5-nano-2025-08-07", + "matchPattern": "(?i)^(openai/)?(gpt-5-nano-2025-08-07)$", + "startDate": "2025-08-11T08:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 5e-8, + "input_cached_tokens": 5e-9, + "output": 4e-7, + "input_cache_read": 5e-9, + "output_reasoning_tokens": 4e-7, + "output_reasoning": 4e-7 + } + } + ] + }, + { + "modelName": "gpt-5-chat-latest", + "matchPattern": "(?i)^(openai/)?(gpt-5-chat-latest)$", + "startDate": "2025-08-07T16:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00000125, + "input_cached_tokens": 1.25e-7, + "output": 0.00001, + "input_cache_read": 1.25e-7, + "output_reasoning_tokens": 0.00001, + "output_reasoning": 0.00001 + } + } + ] + }, + { + "modelName": "gpt-5-pro", + "matchPattern": "(?i)^(openai/)?(gpt-5-pro)$", + "startDate": "2025-10-07T08:03:54.727Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000015, + "output": 0.00012, + "output_reasoning_tokens": 0.00012, + "output_reasoning": 0.00012 + } + } + ] + }, + { + "modelName": "gpt-5-pro-2025-10-06", + "matchPattern": "(?i)^(openai/)?(gpt-5-pro-2025-10-06)$", + "startDate": "2025-10-07T08:03:54.727Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000015, + "output": 0.00012, + "output_reasoning_tokens": 0.00012, + "output_reasoning": 0.00012 + } + } + ] + }, + { + "modelName": "claude-haiku-4-5-20251001", + "matchPattern": "(?i)^(anthropic/)?(claude-haiku-4-5-20251001|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-haiku-4-5-20251001-v1:0|claude-4-5-haiku@20251001)$", + "startDate": "2025-10-16T08:20:44.558Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000001, + "input_tokens": 0.000001, + "output": 0.000005, + "output_tokens": 0.000005, + "cache_creation_input_tokens": 0.00000125, + "input_cache_creation": 0.00000125, + "input_cache_creation_5m": 0.00000125, + "input_cache_creation_1h": 0.000002, + "cache_read_input_tokens": 1e-7, + "input_cache_read": 1e-7 + } + } + ] + }, + { + "modelName": "gpt-5.1", + "matchPattern": "(?i)^(openai/)?(gpt-5.1)$", + "startDate": "2025-11-14T08:57:23.481Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00000125, + "input_cached_tokens": 1.25e-7, + "output": 0.00001, + "input_cache_read": 1.25e-7, + "output_reasoning_tokens": 0.00001, + "output_reasoning": 0.00001 + } + } + ] + }, + { + "modelName": "gpt-5.1-2025-11-13", + "matchPattern": "(?i)^(openai/)?(gpt-5.1-2025-11-13)$", + "startDate": "2025-11-14T08:57:23.481Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00000125, + "input_cached_tokens": 1.25e-7, + "output": 0.00001, + "input_cache_read": 1.25e-7, + "output_reasoning_tokens": 0.00001, + "output_reasoning": 0.00001 + } + } + ] + }, + { + "modelName": "claude-opus-4-5-20251101", + "matchPattern": "(?i)^(anthropic/)?(claude-opus-4-5(-20251101)?|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-opus-4-5(-20251101)?-v1(:0)?|claude-opus-4-5(@20251101)?)$", + "startDate": "2025-11-24T20:53:27.571Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000005, + "input_tokens": 0.000005, + "output": 0.000025, + "output_tokens": 0.000025, + "cache_creation_input_tokens": 0.00000625, + "input_cache_creation": 0.00000625, + "input_cache_creation_5m": 0.00000625, + "input_cache_creation_1h": 0.00001, + "cache_read_input_tokens": 5e-7, + "input_cache_read": 5e-7 + } + } + ] + }, + { + "modelName": "claude-sonnet-4-6", + "matchPattern": "(?i)^(anthropic\\/)?(claude-sonnet-4-6|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-sonnet-4-6(-v1(:0)?)?|claude-sonnet-4-6)$", + "startDate": "2026-02-18T00:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000003, + "input_tokens": 0.000003, + "output": 0.000015, + "output_tokens": 0.000015, + "cache_creation_input_tokens": 0.00000375, + "input_cache_creation": 0.00000375, + "input_cache_creation_5m": 0.00000375, + "input_cache_creation_1h": 0.000006, + "cache_read_input_tokens": 3e-7, + "input_cache_read": 3e-7 + } + }, + { + "name": "Large Context", + "isDefault": false, + "priority": 1, + "conditions": [ { - usageDetailPattern: "input", - operator: "gt", - value: 200000, - }, + "usageDetailPattern": "input", + "operator": "gt", + "value": 200000 + } ], - prices: { - input: 0.000006, - input_tokens: 0.000006, - output: 0.0000225, - output_tokens: 0.0000225, - cache_creation_input_tokens: 0.0000075, - input_cache_creation: 0.0000075, - input_cache_creation_5m: 0.0000075, - input_cache_creation_1h: 0.000012, - cache_read_input_tokens: 6e-7, - input_cache_read: 6e-7, - }, - }, - ], - }, - { - modelName: "claude-opus-4-6", - matchPattern: - "(?i)^(anthropic/)?(claude-opus-4-6|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-opus-4-6-v1(:0)?|claude-opus-4-6)$", - startDate: "2026-02-09T00:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000005, - input_tokens: 0.000005, - output: 0.000025, - output_tokens: 0.000025, - cache_creation_input_tokens: 0.00000625, - input_cache_creation: 0.00000625, - input_cache_creation_5m: 0.00000625, - input_cache_creation_1h: 0.00001, - cache_read_input_tokens: 5e-7, - input_cache_read: 5e-7, - }, - }, - ], - }, - { - modelName: "gemini-2.5-pro", - matchPattern: "(?i)^(google(ai)?/)?(gemini-2.5-pro)$", - startDate: "2025-11-26T13:27:53.545Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00000125, - input_text: 0.00000125, - input_modality_1: 0.00000125, - prompt_token_count: 0.00000125, - promptTokenCount: 0.00000125, - input_cached_tokens: 1.25e-7, - cached_content_token_count: 1.25e-7, - output: 0.00001, - output_text: 0.00001, - output_modality_1: 0.00001, - candidates_token_count: 0.00001, - candidatesTokenCount: 0.00001, - thoughtsTokenCount: 0.00001, - thoughts_token_count: 0.00001, - output_reasoning: 0.00001, - }, - }, - { - name: "Large Context", - isDefault: false, - priority: 1, - conditions: [ + "prices": { + "input": 0.000006, + "input_tokens": 0.000006, + "output": 0.0000225, + "output_tokens": 0.0000225, + "cache_creation_input_tokens": 0.0000075, + "input_cache_creation": 0.0000075, + "input_cache_creation_5m": 0.0000075, + "input_cache_creation_1h": 0.000012, + "cache_read_input_tokens": 6e-7, + "input_cache_read": 6e-7 + } + } + ] + }, + { + "modelName": "claude-opus-4-6", + "matchPattern": "(?i)^(anthropic/)?(claude-opus-4-6|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-opus-4-6-v1(:0)?|claude-opus-4-6)$", + "startDate": "2026-02-09T00:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000005, + "input_tokens": 0.000005, + "output": 0.000025, + "output_tokens": 0.000025, + "cache_creation_input_tokens": 0.00000625, + "input_cache_creation": 0.00000625, + "input_cache_creation_5m": 0.00000625, + "input_cache_creation_1h": 0.00001, + "cache_read_input_tokens": 5e-7, + "input_cache_read": 5e-7 + } + } + ] + }, + { + "modelName": "gemini-2.5-pro", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-2.5-pro)$", + "startDate": "2025-11-26T13:27:53.545Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00000125, + "input_text": 0.00000125, + "input_modality_1": 0.00000125, + "prompt_token_count": 0.00000125, + "promptTokenCount": 0.00000125, + "input_cached_tokens": 1.25e-7, + "cached_content_token_count": 1.25e-7, + "output": 0.00001, + "output_text": 0.00001, + "output_modality_1": 0.00001, + "candidates_token_count": 0.00001, + "candidatesTokenCount": 0.00001, + "thoughtsTokenCount": 0.00001, + "thoughts_token_count": 0.00001, + "output_reasoning": 0.00001 + } + }, + { + "name": "Large Context", + "isDefault": false, + "priority": 1, + "conditions": [ { - usageDetailPattern: "(input|prompt|cached)", - operator: "gt", - value: 200000, - }, + "usageDetailPattern": "(input|prompt|cached)", + "operator": "gt", + "value": 200000 + } ], - prices: { - input: 0.0000025, - input_text: 0.0000025, - input_modality_1: 0.0000025, - prompt_token_count: 0.0000025, - promptTokenCount: 0.0000025, - input_cached_tokens: 2.5e-7, - cached_content_token_count: 2.5e-7, - output: 0.000015, - output_text: 0.000015, - output_modality_1: 0.000015, - candidates_token_count: 0.000015, - candidatesTokenCount: 0.000015, - thoughtsTokenCount: 0.000015, - thoughts_token_count: 0.000015, - output_reasoning: 0.000015, - }, - }, - ], - }, - { - modelName: "gemini-3-pro-preview", - matchPattern: "(?i)^(google(ai)?/)?(gemini-3-pro-preview)$", - startDate: "2025-11-26T13:27:53.545Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000002, - input_text: 0.000002, - input_modality_1: 0.000002, - prompt_token_count: 0.000002, - promptTokenCount: 0.000002, - input_cached_tokens: 2e-7, - cached_content_token_count: 2e-7, - output: 0.000012, - output_text: 0.000012, - output_modality_1: 0.000012, - candidates_token_count: 0.000012, - candidatesTokenCount: 0.000012, - thoughtsTokenCount: 0.000012, - thoughts_token_count: 0.000012, - output_reasoning: 0.000012, - }, - }, - { - name: "Large Context", - isDefault: false, - priority: 1, - conditions: [ + "prices": { + "input": 0.0000025, + "input_text": 0.0000025, + "input_modality_1": 0.0000025, + "prompt_token_count": 0.0000025, + "promptTokenCount": 0.0000025, + "input_cached_tokens": 2.5e-7, + "cached_content_token_count": 2.5e-7, + "output": 0.000015, + "output_text": 0.000015, + "output_modality_1": 0.000015, + "candidates_token_count": 0.000015, + "candidatesTokenCount": 0.000015, + "thoughtsTokenCount": 0.000015, + "thoughts_token_count": 0.000015, + "output_reasoning": 0.000015 + } + } + ] + }, + { + "modelName": "gemini-3-pro-preview", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-3-pro-preview)$", + "startDate": "2025-11-26T13:27:53.545Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000002, + "input_text": 0.000002, + "input_modality_1": 0.000002, + "prompt_token_count": 0.000002, + "promptTokenCount": 0.000002, + "input_cached_tokens": 2e-7, + "cached_content_token_count": 2e-7, + "output": 0.000012, + "output_text": 0.000012, + "output_modality_1": 0.000012, + "candidates_token_count": 0.000012, + "candidatesTokenCount": 0.000012, + "thoughtsTokenCount": 0.000012, + "thoughts_token_count": 0.000012, + "output_reasoning": 0.000012 + } + }, + { + "name": "Large Context", + "isDefault": false, + "priority": 1, + "conditions": [ { - usageDetailPattern: "(input|prompt|cached)", - operator: "gt", - value: 200000, - }, + "usageDetailPattern": "(input|prompt|cached)", + "operator": "gt", + "value": 200000 + } ], - prices: { - input: 0.000004, - input_text: 0.000004, - input_modality_1: 0.000004, - prompt_token_count: 0.000004, - promptTokenCount: 0.000004, - input_cached_tokens: 4e-7, - cached_content_token_count: 4e-7, - output: 0.000018, - output_text: 0.000018, - output_modality_1: 0.000018, - candidates_token_count: 0.000018, - candidatesTokenCount: 0.000018, - thoughtsTokenCount: 0.000018, - thoughts_token_count: 0.000018, - output_reasoning: 0.000018, - }, - }, - ], - }, - { - modelName: "gemini-3.1-pro-preview", - matchPattern: "(?i)^(google(ai)?/)?(gemini-3.1-pro-preview(-customtools)?)$", - startDate: "2026-02-19T00:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000002, - input_modality_1: 0.000002, - input_text: 0.000002, - prompt_token_count: 0.000002, - promptTokenCount: 0.000002, - input_cached_tokens: 2e-7, - cached_content_token_count: 2e-7, - output: 0.000012, - output_text: 0.000012, - output_modality_1: 0.000012, - candidates_token_count: 0.000012, - candidatesTokenCount: 0.000012, - thoughtsTokenCount: 0.000012, - thoughts_token_count: 0.000012, - output_reasoning: 0.000012, - }, - }, - { - name: "Large Context", - isDefault: false, - priority: 1, - conditions: [ + "prices": { + "input": 0.000004, + "input_text": 0.000004, + "input_modality_1": 0.000004, + "prompt_token_count": 0.000004, + "promptTokenCount": 0.000004, + "input_cached_tokens": 4e-7, + "cached_content_token_count": 4e-7, + "output": 0.000018, + "output_text": 0.000018, + "output_modality_1": 0.000018, + "candidates_token_count": 0.000018, + "candidatesTokenCount": 0.000018, + "thoughtsTokenCount": 0.000018, + "thoughts_token_count": 0.000018, + "output_reasoning": 0.000018 + } + } + ] + }, + { + "modelName": "gemini-3.1-pro-preview", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-3.1-pro-preview(-customtools)?)$", + "startDate": "2026-02-19T00:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000002, + "input_modality_1": 0.000002, + "input_text": 0.000002, + "prompt_token_count": 0.000002, + "promptTokenCount": 0.000002, + "input_cached_tokens": 2e-7, + "cached_content_token_count": 2e-7, + "output": 0.000012, + "output_text": 0.000012, + "output_modality_1": 0.000012, + "candidates_token_count": 0.000012, + "candidatesTokenCount": 0.000012, + "thoughtsTokenCount": 0.000012, + "thoughts_token_count": 0.000012, + "output_reasoning": 0.000012 + } + }, + { + "name": "Large Context", + "isDefault": false, + "priority": 1, + "conditions": [ { - usageDetailPattern: "(input|prompt|cached)", - operator: "gt", - value: 200000, - }, + "usageDetailPattern": "(input|prompt|cached)", + "operator": "gt", + "value": 200000 + } ], - prices: { - input: 0.000004, - input_modality_1: 0.000004, - input_text: 0.000004, - prompt_token_count: 0.000004, - promptTokenCount: 0.000004, - input_cached_tokens: 4e-7, - cached_content_token_count: 4e-7, - output: 0.000018, - output_text: 0.000018, - output_modality_1: 0.000018, - candidates_token_count: 0.000018, - candidatesTokenCount: 0.000018, - thoughtsTokenCount: 0.000018, - thoughts_token_count: 0.000018, - output_reasoning: 0.000018, - }, - }, - ], - }, - { - modelName: "gpt-5.2", - matchPattern: "(?i)^(openai/)?(gpt-5.2)$", - startDate: "2025-12-12T09:00:06.513Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00000175, - input_cached_tokens: 1.75e-7, - input_cache_read: 1.75e-7, - output: 0.000014, - output_reasoning_tokens: 0.000014, - output_reasoning: 0.000014, - }, - }, - ], - }, - { - modelName: "gpt-5.2-2025-12-11", - matchPattern: "(?i)^(openai/)?(gpt-5.2-2025-12-11)$", - startDate: "2025-12-12T09:00:06.513Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00000175, - input_cached_tokens: 1.75e-7, - input_cache_read: 1.75e-7, - output: 0.000014, - output_reasoning_tokens: 0.000014, - output_reasoning: 0.000014, - }, - }, - ], - }, - { - modelName: "gpt-5.2-pro", - matchPattern: "(?i)^(openai/)?(gpt-5.2-pro)$", - startDate: "2025-12-12T09:00:06.513Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000021, - output: 0.000168, - output_reasoning_tokens: 0.000168, - output_reasoning: 0.000168, - }, - }, - ], - }, - { - modelName: "gpt-5.2-pro-2025-12-11", - matchPattern: "(?i)^(openai/)?(gpt-5.2-pro-2025-12-11)$", - startDate: "2025-12-12T09:00:06.513Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.000021, - output: 0.000168, - output_reasoning_tokens: 0.000168, - output_reasoning: 0.000168, - }, - }, - ], - }, - { - modelName: "gpt-5.4", - matchPattern: "(?i)^(openai/)?(gpt-5.4)$", - startDate: "2026-03-05T00:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000025, - input_cached_tokens: 2.5e-7, - input_cache_read: 2.5e-7, - output: 0.000015, - output_reasoning_tokens: 0.000015, - output_reasoning: 0.000015, - }, - }, - ], - }, - { - modelName: "gpt-5.4-pro", - matchPattern: "(?i)^(openai/)?(gpt-5.4-pro)$", - startDate: "2026-03-05T00:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00003, - output: 0.00018, - output_reasoning_tokens: 0.00018, - output_reasoning: 0.00018, - }, - }, - ], - }, - { - modelName: "gpt-5.4-2026-03-05", - matchPattern: "(?i)^(openai/)?(gpt-5.4-2026-03-05)$", - startDate: "2026-03-05T00:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.0000025, - input_cached_tokens: 2.5e-7, - input_cache_read: 2.5e-7, - output: 0.000015, - output_reasoning_tokens: 0.000015, - output_reasoning: 0.000015, - }, - }, - ], - }, - { - modelName: "gpt-5.4-pro-2026-03-05", - matchPattern: "(?i)^(openai/)?(gpt-5.4-pro-2026-03-05)$", - startDate: "2026-03-05T00:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 0.00003, - output: 0.00018, - output_reasoning_tokens: 0.00018, - output_reasoning: 0.00018, - }, - }, - ], - }, - { - modelName: "gpt-5.4-mini", - matchPattern: "(?i)^(openai\\/)?(gpt-5.4-mini)$", - startDate: "2026-03-18T00:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 7.5e-7, - input_cached_tokens: 7.5e-8, - input_cache_read: 7.5e-8, - output: 0.0000045, - }, - }, - ], - }, - { - modelName: "gpt-5.4-mini-2026-03-17", - matchPattern: "(?i)^(openai\\/)?(gpt-5.4-mini-2026-03-17)$", - startDate: "2026-03-18T00:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 7.5e-7, - input_cached_tokens: 7.5e-8, - input_cache_read: 7.5e-8, - output: 0.0000045, - }, - }, - ], - }, - { - modelName: "gpt-5.4-nano", - matchPattern: "(?i)^(openai\\/)?(gpt-5.4-nano)$", - startDate: "2026-03-18T00:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2e-7, - input_cached_tokens: 2e-8, - input_cache_read: 2e-8, - output: 0.00000125, - }, - }, - ], - }, - { - modelName: "gpt-5.4-nano-2026-03-17", - matchPattern: "(?i)^(openai\\/)?(gpt-5.4-nano-2026-03-17)$", - startDate: "2026-03-18T00:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2e-7, - input_cached_tokens: 2e-8, - input_cache_read: 2e-8, - output: 0.00000125, - }, - }, - ], - }, - { - modelName: "gemini-3-flash-preview", - matchPattern: "(?i)^(google(ai)?/)?(gemini-3-flash-preview)$", - startDate: "2025-12-21T12:01:42.282Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 5e-7, - input_text: 5e-7, - input_modality_1: 5e-7, - prompt_token_count: 5e-7, - promptTokenCount: 5e-7, - input_cached_tokens: 5e-8, - cached_content_token_count: 5e-8, - output: 0.000003, - output_text: 0.000003, - output_modality_1: 0.000003, - candidates_token_count: 0.000003, - candidatesTokenCount: 0.000003, - thoughtsTokenCount: 0.000003, - thoughts_token_count: 0.000003, - output_reasoning: 0.000003, - }, - }, - ], - }, - { - modelName: "gemini-3.1-flash-lite-preview", - matchPattern: "(?i)^(google(ai)?/)?(gemini-3.1-flash-lite-preview)$", - startDate: "2026-03-03T00:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input: 2.5e-7, - input_modality_1: 2.5e-7, - input_text: 2.5e-7, - prompt_token_count: 2.5e-7, - promptTokenCount: 2.5e-7, - input_cached_tokens: 2.5e-8, - cached_content_token_count: 2.5e-8, - output: 0.0000015, - output_text: 0.0000015, - output_modality_1: 0.0000015, - candidates_token_count: 0.0000015, - candidatesTokenCount: 0.0000015, - thoughtsTokenCount: 0.0000015, - thoughts_token_count: 0.0000015, - output_reasoning: 0.0000015, - input_audio_tokens: 5e-7, - }, - }, - ], - }, - { - modelName: "gemini-live-2.5-flash-native-audio", - matchPattern: "(?i)^(google/)?(gemini-live-2.5-flash-native-audio)$", - startDate: "2026-03-16T00:00:00.000Z", - pricingTiers: [ - { - name: "Standard", - isDefault: true, - priority: 0, - conditions: [], - prices: { - input_text: 5e-7, - input_audio: 0.000003, - input_image: 0.000003, - output_text: 0.000002, - output_audio: 0.000012, - }, - }, - ], - }, + "prices": { + "input": 0.000004, + "input_modality_1": 0.000004, + "input_text": 0.000004, + "prompt_token_count": 0.000004, + "promptTokenCount": 0.000004, + "input_cached_tokens": 4e-7, + "cached_content_token_count": 4e-7, + "output": 0.000018, + "output_text": 0.000018, + "output_modality_1": 0.000018, + "candidates_token_count": 0.000018, + "candidatesTokenCount": 0.000018, + "thoughtsTokenCount": 0.000018, + "thoughts_token_count": 0.000018, + "output_reasoning": 0.000018 + } + } + ] + }, + { + "modelName": "gpt-5.2", + "matchPattern": "(?i)^(openai/)?(gpt-5.2)$", + "startDate": "2025-12-12T09:00:06.513Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00000175, + "input_cached_tokens": 1.75e-7, + "input_cache_read": 1.75e-7, + "output": 0.000014, + "output_reasoning_tokens": 0.000014, + "output_reasoning": 0.000014 + } + } + ] + }, + { + "modelName": "gpt-5.2-2025-12-11", + "matchPattern": "(?i)^(openai/)?(gpt-5.2-2025-12-11)$", + "startDate": "2025-12-12T09:00:06.513Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00000175, + "input_cached_tokens": 1.75e-7, + "input_cache_read": 1.75e-7, + "output": 0.000014, + "output_reasoning_tokens": 0.000014, + "output_reasoning": 0.000014 + } + } + ] + }, + { + "modelName": "gpt-5.2-pro", + "matchPattern": "(?i)^(openai/)?(gpt-5.2-pro)$", + "startDate": "2025-12-12T09:00:06.513Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000021, + "output": 0.000168, + "output_reasoning_tokens": 0.000168, + "output_reasoning": 0.000168 + } + } + ] + }, + { + "modelName": "gpt-5.2-pro-2025-12-11", + "matchPattern": "(?i)^(openai/)?(gpt-5.2-pro-2025-12-11)$", + "startDate": "2025-12-12T09:00:06.513Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.000021, + "output": 0.000168, + "output_reasoning_tokens": 0.000168, + "output_reasoning": 0.000168 + } + } + ] + }, + { + "modelName": "gpt-5.4", + "matchPattern": "(?i)^(openai/)?(gpt-5.4)$", + "startDate": "2026-03-05T00:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000025, + "input_cached_tokens": 2.5e-7, + "input_cache_read": 2.5e-7, + "output": 0.000015, + "output_reasoning_tokens": 0.000015, + "output_reasoning": 0.000015 + } + } + ] + }, + { + "modelName": "gpt-5.4-pro", + "matchPattern": "(?i)^(openai/)?(gpt-5.4-pro)$", + "startDate": "2026-03-05T00:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00003, + "output": 0.00018, + "output_reasoning_tokens": 0.00018, + "output_reasoning": 0.00018 + } + } + ] + }, + { + "modelName": "gpt-5.4-2026-03-05", + "matchPattern": "(?i)^(openai/)?(gpt-5.4-2026-03-05)$", + "startDate": "2026-03-05T00:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.0000025, + "input_cached_tokens": 2.5e-7, + "input_cache_read": 2.5e-7, + "output": 0.000015, + "output_reasoning_tokens": 0.000015, + "output_reasoning": 0.000015 + } + } + ] + }, + { + "modelName": "gpt-5.4-pro-2026-03-05", + "matchPattern": "(?i)^(openai/)?(gpt-5.4-pro-2026-03-05)$", + "startDate": "2026-03-05T00:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 0.00003, + "output": 0.00018, + "output_reasoning_tokens": 0.00018, + "output_reasoning": 0.00018 + } + } + ] + }, + { + "modelName": "gpt-5.4-mini", + "matchPattern": "(?i)^(openai\\/)?(gpt-5.4-mini)$", + "startDate": "2026-03-18T00:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 7.5e-7, + "input_cached_tokens": 7.5e-8, + "input_cache_read": 7.5e-8, + "output": 0.0000045 + } + } + ] + }, + { + "modelName": "gpt-5.4-mini-2026-03-17", + "matchPattern": "(?i)^(openai\\/)?(gpt-5.4-mini-2026-03-17)$", + "startDate": "2026-03-18T00:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 7.5e-7, + "input_cached_tokens": 7.5e-8, + "input_cache_read": 7.5e-8, + "output": 0.0000045 + } + } + ] + }, + { + "modelName": "gpt-5.4-nano", + "matchPattern": "(?i)^(openai\\/)?(gpt-5.4-nano)$", + "startDate": "2026-03-18T00:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2e-7, + "input_cached_tokens": 2e-8, + "input_cache_read": 2e-8, + "output": 0.00000125 + } + } + ] + }, + { + "modelName": "gpt-5.4-nano-2026-03-17", + "matchPattern": "(?i)^(openai\\/)?(gpt-5.4-nano-2026-03-17)$", + "startDate": "2026-03-18T00:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2e-7, + "input_cached_tokens": 2e-8, + "input_cache_read": 2e-8, + "output": 0.00000125 + } + } + ] + }, + { + "modelName": "gemini-3-flash-preview", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-3-flash-preview)$", + "startDate": "2025-12-21T12:01:42.282Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 5e-7, + "input_text": 5e-7, + "input_modality_1": 5e-7, + "prompt_token_count": 5e-7, + "promptTokenCount": 5e-7, + "input_cached_tokens": 5e-8, + "cached_content_token_count": 5e-8, + "output": 0.000003, + "output_text": 0.000003, + "output_modality_1": 0.000003, + "candidates_token_count": 0.000003, + "candidatesTokenCount": 0.000003, + "thoughtsTokenCount": 0.000003, + "thoughts_token_count": 0.000003, + "output_reasoning": 0.000003 + } + } + ] + }, + { + "modelName": "gemini-3.1-flash-lite-preview", + "matchPattern": "(?i)^(google(ai)?/)?(gemini-3.1-flash-lite-preview)$", + "startDate": "2026-03-03T00:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input": 2.5e-7, + "input_modality_1": 2.5e-7, + "input_text": 2.5e-7, + "prompt_token_count": 2.5e-7, + "promptTokenCount": 2.5e-7, + "input_cached_tokens": 2.5e-8, + "cached_content_token_count": 2.5e-8, + "output": 0.0000015, + "output_text": 0.0000015, + "output_modality_1": 0.0000015, + "candidates_token_count": 0.0000015, + "candidatesTokenCount": 0.0000015, + "thoughtsTokenCount": 0.0000015, + "thoughts_token_count": 0.0000015, + "output_reasoning": 0.0000015, + "input_audio_tokens": 5e-7 + } + } + ] + }, + { + "modelName": "gemini-live-2.5-flash-native-audio", + "matchPattern": "(?i)^(google/)?(gemini-live-2.5-flash-native-audio)$", + "startDate": "2026-03-16T00:00:00.000Z", + "pricingTiers": [ + { + "name": "Standard", + "isDefault": true, + "priority": 0, + "conditions": [], + "prices": { + "input_text": 5e-7, + "input_audio": 0.000003, + "input_image": 0.000003, + "output_text": 0.000002, + "output_audio": 0.000012 + } + } + ] + } ]; diff --git a/internal-packages/llm-model-catalog/src/modelCatalog.ts b/internal-packages/llm-model-catalog/src/modelCatalog.ts index d90eb1a992b..71ae921c3e7 100644 --- a/internal-packages/llm-model-catalog/src/modelCatalog.ts +++ b/internal-packages/llm-model-catalog/src/modelCatalog.ts @@ -5,564 +5,677 @@ import type { ModelCatalogEntry } from "./types.js"; export const modelCatalog: Record = { "chatgpt-4o-latest": { - provider: "openai", - description: - "OpenAI's flagship multimodal model optimized for speed and cost, capable of processing text, images, and audio with strong performance across reasoning, coding, and creative tasks.", - contextWindow: 128000, - maxOutputTokens: 16384, - capabilities: [ + "provider": "openai", + "description": "OpenAI's flagship multimodal model optimized for speed and cost, capable of processing text, images, and audio with strong performance across reasoning, coding, and creative tasks.", + "contextWindow": 128000, + "maxOutputTokens": 16384, + "capabilities": [ "vision", "tool_use", "streaming", "json_mode", "audio_input", "audio_output", - "fine_tunable", + "fine_tunable" ], - releaseDate: "2024-05-13", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T10:55:46.469Z", - baseModelName: "chatgpt-4o", + "releaseDate": "2024-05-13", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T10:55:46.469Z", + "baseModelName": "chatgpt-4o" }, "claude-1.1": { - provider: "anthropic", - description: - "An early-generation Claude model from Anthropic, offering basic conversational and text completion capabilities. It was quickly superseded by Claude 1.2, 1.3, and the Claude 2 family.", - contextWindow: 9000, - maxOutputTokens: 8191, - capabilities: ["streaming"], - releaseDate: "2023-03-14", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: null, - knowledgeCutoff: null, - resolvedAt: "2026-03-24T10:55:47.906Z", - baseModelName: null, + "provider": "anthropic", + "description": "An early-generation Claude model from Anthropic, offering basic conversational and text completion capabilities. It was quickly superseded by Claude 1.2, 1.3, and the Claude 2 family.", + "contextWindow": 9000, + "maxOutputTokens": 8191, + "capabilities": [ + "streaming" + ], + "releaseDate": "2023-03-14", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": null, + "knowledgeCutoff": null, + "resolvedAt": "2026-03-24T10:55:47.906Z", + "baseModelName": null }, "claude-1.2": { - provider: "anthropic", - description: - "An early-generation Anthropic model, part of the original Claude 1.x family. It offered improved performance over Claude 1.0 but was quickly superseded by Claude 1.3 and later model families.", - contextWindow: 9000, - maxOutputTokens: 8191, - capabilities: ["streaming"], - releaseDate: null, - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: null, - knowledgeCutoff: null, - resolvedAt: "2026-03-24T10:55:46.760Z", - baseModelName: null, + "provider": "anthropic", + "description": "An early-generation Anthropic model, part of the original Claude 1.x family. It offered improved performance over Claude 1.0 but was quickly superseded by Claude 1.3 and later model families.", + "contextWindow": 9000, + "maxOutputTokens": 8191, + "capabilities": [ + "streaming" + ], + "releaseDate": null, + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": null, + "knowledgeCutoff": null, + "resolvedAt": "2026-03-24T10:55:46.760Z", + "baseModelName": null }, "claude-1.3": { - provider: "anthropic", - description: - "Early-generation Claude model from Anthropic, offering improved performance over Claude 1.0-1.2 in reasoning and instruction-following tasks.", - contextWindow: 100000, - maxOutputTokens: null, - capabilities: ["streaming"], - releaseDate: "2023-03-14", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: null, - knowledgeCutoff: null, - resolvedAt: "2026-03-24T10:55:46.227Z", - baseModelName: null, + "provider": "anthropic", + "description": "Early-generation Claude model from Anthropic, offering improved performance over Claude 1.0-1.2 in reasoning and instruction-following tasks.", + "contextWindow": 100000, + "maxOutputTokens": null, + "capabilities": [ + "streaming" + ], + "releaseDate": "2023-03-14", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": null, + "knowledgeCutoff": null, + "resolvedAt": "2026-03-24T10:55:46.227Z", + "baseModelName": null }, "claude-2.0": { - provider: "anthropic", - description: - "Anthropic's second-generation large language model, offering improved performance over Claude 1.x with longer context support. Succeeded by Claude 2.1 and later the Claude 3 family.", - contextWindow: 100000, - maxOutputTokens: 4096, - capabilities: ["streaming"], - releaseDate: "2023-07-11", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: null, - knowledgeCutoff: "2023-02-01", - resolvedAt: "2026-03-24T10:55:45.922Z", - baseModelName: null, + "provider": "anthropic", + "description": "Anthropic's second-generation large language model, offering improved performance over Claude 1.x with longer context support. Succeeded by Claude 2.1 and later the Claude 3 family.", + "contextWindow": 100000, + "maxOutputTokens": 4096, + "capabilities": [ + "streaming" + ], + "releaseDate": "2023-07-11", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": null, + "knowledgeCutoff": "2023-02-01", + "resolvedAt": "2026-03-24T10:55:45.922Z", + "baseModelName": null }, "claude-2.1": { - provider: "anthropic", - description: - "Anthropic's Claude 2.1 model featuring a 200K context window, reduced hallucination rates compared to Claude 2.0, and improved accuracy on long document comprehension.", - contextWindow: 200000, - maxOutputTokens: 4096, - capabilities: ["streaming", "tool_use"], - releaseDate: "2023-11-21", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: null, - knowledgeCutoff: "2023-01-01", - resolvedAt: "2026-03-24T10:56:22.743Z", - baseModelName: null, + "provider": "anthropic", + "description": "Anthropic's Claude 2.1 model featuring a 200K context window, reduced hallucination rates compared to Claude 2.0, and improved accuracy on long document comprehension.", + "contextWindow": 200000, + "maxOutputTokens": 4096, + "capabilities": [ + "streaming", + "tool_use" + ], + "releaseDate": "2023-11-21", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": null, + "knowledgeCutoff": "2023-01-01", + "resolvedAt": "2026-03-24T10:56:22.743Z", + "baseModelName": null }, "claude-3-5-haiku-20241022": { - provider: "anthropic", - description: - "Anthropic's fastest and most cost-effective model in the Claude 3.5 family, optimized for speed and efficiency while maintaining strong performance across common tasks.", - contextWindow: 200000, - maxOutputTokens: 8192, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2024-10-22", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-07-01", - resolvedAt: "2026-03-24T10:56:25.724Z", - baseModelName: "claude-3-5-haiku", + "provider": "anthropic", + "description": "Anthropic's fastest and most cost-effective model in the Claude 3.5 family, optimized for speed and efficiency while maintaining strong performance across common tasks.", + "contextWindow": 200000, + "maxOutputTokens": 8192, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-10-22", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-07-01", + "resolvedAt": "2026-03-24T10:56:25.724Z", + "baseModelName": "claude-3-5-haiku" }, "claude-3-5-sonnet-20240620": { - provider: "anthropic", - description: - "Anthropic's Claude 3.5 Sonnet is a mid-tier model balancing intelligence and speed, excelling at coding, analysis, and vision tasks while being faster and cheaper than Opus.", - contextWindow: 200000, - maxOutputTokens: 8192, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2024-06-20", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-04-01", - resolvedAt: "2026-03-24T10:56:35.401Z", - baseModelName: "claude-3-5-sonnet", + "provider": "anthropic", + "description": "Anthropic's Claude 3.5 Sonnet is a mid-tier model balancing intelligence and speed, excelling at coding, analysis, and vision tasks while being faster and cheaper than Opus.", + "contextWindow": 200000, + "maxOutputTokens": 8192, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-06-20", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-04-01", + "resolvedAt": "2026-03-24T10:56:35.401Z", + "baseModelName": "claude-3-5-sonnet" }, "claude-3-haiku-20240307": { - provider: "anthropic", - description: - "Anthropic's fastest and most compact Claude 3 model, optimized for speed and cost-efficiency while maintaining strong performance on everyday tasks.", - contextWindow: 200000, - maxOutputTokens: 4096, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2024-03-13", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-08-01", - resolvedAt: "2026-03-24T10:56:25.288Z", - baseModelName: "claude-3-haiku", + "provider": "anthropic", + "description": "Anthropic's fastest and most compact Claude 3 model, optimized for speed and cost-efficiency while maintaining strong performance on everyday tasks.", + "contextWindow": 200000, + "maxOutputTokens": 4096, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-03-13", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-08-01", + "resolvedAt": "2026-03-24T10:56:25.288Z", + "baseModelName": "claude-3-haiku" }, "claude-3-opus-20240229": { - provider: "anthropic", - description: - "Anthropic's most capable model in the Claude 3 family, excelling at complex analysis, nuanced content generation, and advanced reasoning tasks.", - contextWindow: 200000, - maxOutputTokens: 4096, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2024-03-04", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-08-01", - resolvedAt: "2026-03-24T10:56:26.008Z", - baseModelName: "claude-3-opus", + "provider": "anthropic", + "description": "Anthropic's most capable model in the Claude 3 family, excelling at complex analysis, nuanced content generation, and advanced reasoning tasks.", + "contextWindow": 200000, + "maxOutputTokens": 4096, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-03-04", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-08-01", + "resolvedAt": "2026-03-24T10:56:26.008Z", + "baseModelName": "claude-3-opus" }, "claude-3-sonnet-20240229": { - provider: "anthropic", - description: - "Mid-tier model in Anthropic's Claude 3 family, balancing performance and speed for a wide range of tasks including analysis, coding, and content generation.", - contextWindow: 200000, - maxOutputTokens: 4096, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2024-03-04", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-02-01", - resolvedAt: "2026-03-24T10:56:59.532Z", - baseModelName: "claude-3-sonnet", + "provider": "anthropic", + "description": "Mid-tier model in Anthropic's Claude 3 family, balancing performance and speed for a wide range of tasks including analysis, coding, and content generation.", + "contextWindow": 200000, + "maxOutputTokens": 4096, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-03-04", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-02-01", + "resolvedAt": "2026-03-24T10:56:59.532Z", + "baseModelName": "claude-3-sonnet" }, "claude-3.5-haiku-latest": { - provider: "anthropic", - description: - "Anthropic's fastest and most cost-effective model in the Claude 3.5 family, optimized for speed and efficiency while maintaining strong performance across a wide range of tasks.", - contextWindow: 200000, - maxOutputTokens: 8192, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2024-10-29", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-07-01", - resolvedAt: "2026-03-24T10:57:04.392Z", - baseModelName: "claude-3.5-haiku", + "provider": "anthropic", + "description": "Anthropic's fastest and most cost-effective model in the Claude 3.5 family, optimized for speed and efficiency while maintaining strong performance across a wide range of tasks.", + "contextWindow": 200000, + "maxOutputTokens": 8192, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-10-29", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-07-01", + "resolvedAt": "2026-03-24T10:57:04.392Z", + "baseModelName": "claude-3.5-haiku" }, "claude-3.5-sonnet-20241022": { - provider: "anthropic", - description: - "Anthropic's mid-tier model offering strong reasoning, coding, and analysis capabilities at a balance of speed and intelligence, positioned between Haiku and Opus in the Claude 3.5 family.", - contextWindow: 200000, - maxOutputTokens: 8192, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2024-06-20", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-04-01", - resolvedAt: "2026-03-24T10:57:13.346Z", - baseModelName: "claude-3.5-sonnet", + "provider": "anthropic", + "description": "Anthropic's mid-tier model offering strong reasoning, coding, and analysis capabilities at a balance of speed and intelligence, positioned between Haiku and Opus in the Claude 3.5 family.", + "contextWindow": 200000, + "maxOutputTokens": 8192, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-06-20", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-04-01", + "resolvedAt": "2026-03-24T10:57:13.346Z", + "baseModelName": "claude-3.5-sonnet" }, "claude-3.5-sonnet-latest": { - provider: "anthropic", - description: - "Anthropic's mid-tier model offering strong reasoning, coding, and analysis capabilities at a balance of speed and intelligence, positioned between Haiku and Opus in the Claude 3.5 family.", - contextWindow: 200000, - maxOutputTokens: 8192, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2024-06-20", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-04-01", - resolvedAt: "2026-03-24T10:57:13.346Z", - baseModelName: "claude-3.5-sonnet", + "provider": "anthropic", + "description": "Anthropic's mid-tier model offering strong reasoning, coding, and analysis capabilities at a balance of speed and intelligence, positioned between Haiku and Opus in the Claude 3.5 family.", + "contextWindow": 200000, + "maxOutputTokens": 8192, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-06-20", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-04-01", + "resolvedAt": "2026-03-24T10:57:13.346Z", + "baseModelName": "claude-3.5-sonnet" }, "claude-3.7-sonnet-20250219": { - provider: "anthropic", - description: - "Anthropic's Claude 3.7 Sonnet is a hybrid reasoning model that introduced extended thinking capabilities, offering strong performance on coding, math, and complex reasoning tasks.", - contextWindow: 200000, - maxOutputTokens: 16384, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-02-24", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-04-01", - resolvedAt: "2026-03-24T10:57:12.967Z", - baseModelName: "claude-3.7-sonnet", + "provider": "anthropic", + "description": "Anthropic's Claude 3.7 Sonnet is a hybrid reasoning model that introduced extended thinking capabilities, offering strong performance on coding, math, and complex reasoning tasks.", + "contextWindow": 200000, + "maxOutputTokens": 16384, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-02-24", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-04-01", + "resolvedAt": "2026-03-24T10:57:12.967Z", + "baseModelName": "claude-3.7-sonnet" }, "claude-3.7-sonnet-latest": { - provider: "anthropic", - description: - "Anthropic's Claude 3.7 Sonnet is a hybrid reasoning model that introduced extended thinking capabilities, offering strong performance on coding, math, and complex reasoning tasks.", - contextWindow: 200000, - maxOutputTokens: 16384, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-02-24", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-04-01", - resolvedAt: "2026-03-24T10:57:12.967Z", - baseModelName: "claude-3.7-sonnet", + "provider": "anthropic", + "description": "Anthropic's Claude 3.7 Sonnet is a hybrid reasoning model that introduced extended thinking capabilities, offering strong performance on coding, math, and complex reasoning tasks.", + "contextWindow": 200000, + "maxOutputTokens": 16384, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-02-24", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-04-01", + "resolvedAt": "2026-03-24T10:57:12.967Z", + "baseModelName": "claude-3.7-sonnet" }, "claude-haiku-4-5-20251001": { - provider: "anthropic", - description: - "Anthropic's fastest model with near-frontier intelligence, optimized for speed and cost efficiency while supporting extended thinking and vision.", - contextWindow: 200000, - maxOutputTokens: 64000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-10-01", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-07-01", - resolvedAt: "2026-03-24T10:57:29.685Z", - baseModelName: "claude-haiku-4-5", + "provider": "anthropic", + "description": "Anthropic's fastest model with near-frontier intelligence, optimized for speed and cost efficiency while supporting extended thinking and vision.", + "contextWindow": 200000, + "maxOutputTokens": 64000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-10-01", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-07-01", + "resolvedAt": "2026-03-24T10:57:29.685Z", + "baseModelName": "claude-haiku-4-5" }, "claude-instant-1": { - provider: "anthropic", - description: - "Anthropic's fast and cost-effective model optimized for speed and efficiency, positioned as a lighter alternative to Claude 1.x for tasks requiring lower latency.", - contextWindow: 100000, - maxOutputTokens: 8191, - capabilities: ["streaming"], - releaseDate: "2023-03-14", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2025-01-06", - knowledgeCutoff: "2023-01-01", - resolvedAt: "2026-03-24T10:57:36.888Z", - baseModelName: null, + "provider": "anthropic", + "description": "Anthropic's fast and cost-effective model optimized for speed and efficiency, positioned as a lighter alternative to Claude 1.x for tasks requiring lower latency.", + "contextWindow": 100000, + "maxOutputTokens": 8191, + "capabilities": [ + "streaming" + ], + "releaseDate": "2023-03-14", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2025-01-06", + "knowledgeCutoff": "2023-01-01", + "resolvedAt": "2026-03-24T10:57:36.888Z", + "baseModelName": null }, "claude-instant-1.2": { - provider: "anthropic", - description: - "Anthropic's fast and cost-effective model, optimized for speed and efficiency while maintaining strong performance on conversational and text generation tasks.", - contextWindow: 100000, - maxOutputTokens: 8191, - capabilities: ["streaming"], - releaseDate: "2023-08-09", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: null, - knowledgeCutoff: "2023-01-01", - resolvedAt: "2026-03-24T10:57:41.865Z", - baseModelName: null, + "provider": "anthropic", + "description": "Anthropic's fast and cost-effective model, optimized for speed and efficiency while maintaining strong performance on conversational and text generation tasks.", + "contextWindow": 100000, + "maxOutputTokens": 8191, + "capabilities": [ + "streaming" + ], + "releaseDate": "2023-08-09", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": null, + "knowledgeCutoff": "2023-01-01", + "resolvedAt": "2026-03-24T10:57:41.865Z", + "baseModelName": null }, "claude-opus-4-1-20250805": { - provider: "anthropic", - description: - "Anthropic's hybrid reasoning model with strong software engineering and agentic capabilities, scoring 74.5% on SWE-bench Verified. Supports both rapid responses and step-by-step extended thinking.", - contextWindow: 200000, - maxOutputTokens: 32000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-08-05", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-03-01", - resolvedAt: "2026-03-24T10:58:36.876Z", - baseModelName: "claude-opus-4-1", + "provider": "anthropic", + "description": "Anthropic's hybrid reasoning model with strong software engineering and agentic capabilities, scoring 74.5% on SWE-bench Verified. Supports both rapid responses and step-by-step extended thinking.", + "contextWindow": 200000, + "maxOutputTokens": 32000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-08-05", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-03-01", + "resolvedAt": "2026-03-24T10:58:36.876Z", + "baseModelName": "claude-opus-4-1" }, "claude-opus-4-20250514": { - provider: "anthropic", - description: - "Anthropic's flagship model from the Claude 4 family, excelling at complex coding tasks, long-running agent workflows, and deep reasoning with extended thinking support.", - contextWindow: 200000, - maxOutputTokens: 32000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-05-14", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-03-01", - resolvedAt: "2026-03-24T10:58:47.518Z", - baseModelName: "claude-opus-4", + "provider": "anthropic", + "description": "Anthropic's flagship model from the Claude 4 family, excelling at complex coding tasks, long-running agent workflows, and deep reasoning with extended thinking support.", + "contextWindow": 200000, + "maxOutputTokens": 32000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-05-14", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-03-01", + "resolvedAt": "2026-03-24T10:58:47.518Z", + "baseModelName": "claude-opus-4" }, "claude-opus-4-5-20251101": { - provider: "anthropic", - description: - "Anthropic's flagship intelligence model released in November 2025, excelling at complex reasoning, vision, and extended thinking with the best performance in Anthropic's lineup before Opus 4.6.", - contextWindow: 200000, - maxOutputTokens: 64000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-11-01", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-03-01", - resolvedAt: "2026-03-24T10:58:48.961Z", - baseModelName: "claude-opus-4-5", + "provider": "anthropic", + "description": "Anthropic's flagship intelligence model released in November 2025, excelling at complex reasoning, vision, and extended thinking with the best performance in Anthropic's lineup before Opus 4.6.", + "contextWindow": 200000, + "maxOutputTokens": 64000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-11-01", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-03-01", + "resolvedAt": "2026-03-24T10:58:48.961Z", + "baseModelName": "claude-opus-4-5" }, "claude-opus-4-6": { - provider: "anthropic", - description: - "Anthropic's most intelligent model, optimized for building agents and coding with exceptional reasoning capabilities and extended agentic task horizons.", - contextWindow: 1000000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2026-02-05", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-05-01", - resolvedAt: "2026-03-24T10:58:42.061Z", - baseModelName: null, + "provider": "anthropic", + "description": "Anthropic's most intelligent model, optimized for building agents and coding with exceptional reasoning capabilities and extended agentic task horizons.", + "contextWindow": 1000000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2026-02-05", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-05-01", + "resolvedAt": "2026-03-24T10:58:42.061Z", + "baseModelName": null }, "claude-sonnet-4-20250514": { - provider: "anthropic", - description: - "Anthropic's balanced Claude 4 model offering strong coding, reasoning, and multilingual performance at moderate cost. Now a legacy model superseded by Claude Sonnet 4.5 and 4.6.", - contextWindow: 200000, - maxOutputTokens: 64000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-05-14", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-03-01", - resolvedAt: "2026-03-24T10:58:39.601Z", - baseModelName: "claude-sonnet-4", + "provider": "anthropic", + "description": "Anthropic's balanced Claude 4 model offering strong coding, reasoning, and multilingual performance at moderate cost. Now a legacy model superseded by Claude Sonnet 4.5 and 4.6.", + "contextWindow": 200000, + "maxOutputTokens": 64000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-05-14", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-03-01", + "resolvedAt": "2026-03-24T10:58:39.601Z", + "baseModelName": "claude-sonnet-4" }, "claude-sonnet-4-5-20250929": { - provider: "anthropic", - description: - "Anthropic's high-performance mid-tier model with strong coding, reasoning, and multi-step problem solving capabilities. Successor to Claude Sonnet 4, offering improved benchmarks at the same price point.", - contextWindow: 200000, - maxOutputTokens: 64000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-09-29", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-01-01", - resolvedAt: "2026-03-24T10:59:54.426Z", - baseModelName: "claude-sonnet-4-5", + "provider": "anthropic", + "description": "Anthropic's high-performance mid-tier model with strong coding, reasoning, and multi-step problem solving capabilities. Successor to Claude Sonnet 4, offering improved benchmarks at the same price point.", + "contextWindow": 200000, + "maxOutputTokens": 64000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-09-29", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-01-01", + "resolvedAt": "2026-03-24T10:59:54.426Z", + "baseModelName": "claude-sonnet-4-5" }, "claude-sonnet-4-6": { - provider: "anthropic", - description: - "Anthropic's best combination of speed and intelligence, excelling at coding, agentic tasks, and computer use, with a 1M token context window and performance rivaling prior Opus-class models.", - contextWindow: 1000000, - maxOutputTokens: 64000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2026-02-17", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2026-01-01", - resolvedAt: "2026-03-24T10:59:59.014Z", - baseModelName: null, + "provider": "anthropic", + "description": "Anthropic's best combination of speed and intelligence, excelling at coding, agentic tasks, and computer use, with a 1M token context window and performance rivaling prior Opus-class models.", + "contextWindow": 1000000, + "maxOutputTokens": 64000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2026-02-17", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2026-01-01", + "resolvedAt": "2026-03-24T10:59:59.014Z", + "baseModelName": null }, "claude-sonnet-4-latest": { - provider: "anthropic", - description: - "Anthropic's balanced Claude 4 model offering strong coding, reasoning, and multilingual performance at moderate cost. Now a legacy model superseded by Claude Sonnet 4.5 and 4.6.", - contextWindow: 200000, - maxOutputTokens: 64000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-05-14", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-03-01", - resolvedAt: "2026-03-24T10:58:39.601Z", - baseModelName: "claude-sonnet-4", + "provider": "anthropic", + "description": "Anthropic's balanced Claude 4 model offering strong coding, reasoning, and multilingual performance at moderate cost. Now a legacy model superseded by Claude Sonnet 4.5 and 4.6.", + "contextWindow": 200000, + "maxOutputTokens": 64000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-05-14", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-03-01", + "resolvedAt": "2026-03-24T10:58:39.601Z", + "baseModelName": "claude-sonnet-4" }, "gemini-1.0-pro": { - provider: "google", - description: - "Google's first-generation Gemini Pro model, a mid-size multimodal model designed for text generation, reasoning, and chat applications. Succeeded by Gemini 1.5 Pro.", - contextWindow: 32760, - maxOutputTokens: 8192, - capabilities: ["tool_use", "streaming", "json_mode"], - releaseDate: "2023-12-13", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2025-02-15", - knowledgeCutoff: "2023-04-01", - resolvedAt: "2026-03-24T10:59:26.767Z", - baseModelName: null, + "provider": "google", + "description": "Google's first-generation Gemini Pro model, a mid-size multimodal model designed for text generation, reasoning, and chat applications. Succeeded by Gemini 1.5 Pro.", + "contextWindow": 32760, + "maxOutputTokens": 8192, + "capabilities": [ + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2023-12-13", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2025-02-15", + "knowledgeCutoff": "2023-04-01", + "resolvedAt": "2026-03-24T10:59:26.767Z", + "baseModelName": null }, "gemini-1.0-pro-001": { - provider: "google", - description: - "Google's first-generation Pro model optimized for text generation, reasoning, and multi-turn conversation tasks, part of the original Gemini 1.0 lineup.", - contextWindow: 30720, - maxOutputTokens: 2048, - capabilities: ["tool_use", "streaming", "json_mode"], - releaseDate: "2024-02-15", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2025-02-15", - knowledgeCutoff: "2023-04-01", - resolvedAt: "2026-03-24T10:59:27.391Z", - baseModelName: null, + "provider": "google", + "description": "Google's first-generation Pro model optimized for text generation, reasoning, and multi-turn conversation tasks, part of the original Gemini 1.0 lineup.", + "contextWindow": 30720, + "maxOutputTokens": 2048, + "capabilities": [ + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-02-15", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2025-02-15", + "knowledgeCutoff": "2023-04-01", + "resolvedAt": "2026-03-24T10:59:27.391Z", + "baseModelName": null }, "gemini-1.0-pro-latest": { - provider: "google", - description: - "Google's first-generation Gemini Pro model, a mid-size multimodal model designed for text generation, reasoning, and chat applications. Succeeded by Gemini 1.5 Pro.", - contextWindow: 32760, - maxOutputTokens: 8192, - capabilities: ["tool_use", "streaming", "json_mode"], - releaseDate: "2023-12-13", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2025-02-15", - knowledgeCutoff: "2023-04-01", - resolvedAt: "2026-03-24T10:59:26.767Z", - baseModelName: "gemini-1.0-pro", + "provider": "google", + "description": "Google's first-generation Gemini Pro model, a mid-size multimodal model designed for text generation, reasoning, and chat applications. Succeeded by Gemini 1.5 Pro.", + "contextWindow": 32760, + "maxOutputTokens": 8192, + "capabilities": [ + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2023-12-13", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2025-02-15", + "knowledgeCutoff": "2023-04-01", + "resolvedAt": "2026-03-24T10:59:26.767Z", + "baseModelName": "gemini-1.0-pro" }, "gemini-1.5-pro-latest": { - provider: "google", - description: - "Google's mid-size multimodal model with a massive context window, strong at long-document understanding, code generation, and multi-turn conversation.", - contextWindow: 2097152, - maxOutputTokens: 8192, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "audio_input"], - releaseDate: "2024-02-15", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2025-09-24", - knowledgeCutoff: "2024-04-01", - resolvedAt: "2026-03-24T10:59:25.463Z", - baseModelName: "gemini-1.5-pro", + "provider": "google", + "description": "Google's mid-size multimodal model with a massive context window, strong at long-document understanding, code generation, and multi-turn conversation.", + "contextWindow": 2097152, + "maxOutputTokens": 8192, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "audio_input" + ], + "releaseDate": "2024-02-15", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2025-09-24", + "knowledgeCutoff": "2024-04-01", + "resolvedAt": "2026-03-24T10:59:25.463Z", + "baseModelName": "gemini-1.5-pro" }, "gemini-2.0-flash": { - provider: "google", - description: - "Google's second-generation workhorse model optimized for speed, with native tool use, multimodal input (text, images, audio, video), and a 1M token context window.", - contextWindow: 1048576, - maxOutputTokens: 8192, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "code_execution", "audio_input"], - releaseDate: "2025-02-05", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2026-06-01", - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:01:15.429Z", - baseModelName: null, + "provider": "google", + "description": "Google's second-generation workhorse model optimized for speed, with native tool use, multimodal input (text, images, audio, video), and a 1M token context window.", + "contextWindow": 1048576, + "maxOutputTokens": 8192, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "code_execution", + "audio_input" + ], + "releaseDate": "2025-02-05", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2026-06-01", + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:01:15.429Z", + "baseModelName": null }, "gemini-2.0-flash-001": { - provider: "google", - description: - "Google's fast and efficient multimodal model that outperforms Gemini 1.5 Pro on key benchmarks at twice the speed, supporting text, image, audio, and video inputs with native tool use.", - contextWindow: 1048576, - maxOutputTokens: 8192, - capabilities: [ + "provider": "google", + "description": "Google's fast and efficient multimodal model that outperforms Gemini 1.5 Pro on key benchmarks at twice the speed, supporting text, image, audio, and video inputs with native tool use.", + "contextWindow": 1048576, + "maxOutputTokens": 8192, + "capabilities": [ "vision", "tool_use", "streaming", @@ -570,1614 +683,1890 @@ export const modelCatalog: Record = { "audio_input", "image_generation", "audio_output", - "code_execution", + "code_execution" ], - releaseDate: "2025-02-05", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2026-06-01", - knowledgeCutoff: "2024-08-01", - resolvedAt: "2026-03-24T11:01:04.084Z", - baseModelName: null, + "releaseDate": "2025-02-05", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2026-06-01", + "knowledgeCutoff": "2024-08-01", + "resolvedAt": "2026-03-24T11:01:04.084Z", + "baseModelName": null }, "gemini-2.0-flash-lite-preview": { - provider: "google", - description: - "A lightweight, cost-efficient variant of Gemini 2.0 Flash optimized for low latency and high throughput, supporting multimodal input with text output.", - contextWindow: 1048576, - maxOutputTokens: 8192, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-02-05", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2026-06-01", - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:00:56.775Z", - baseModelName: null, + "provider": "google", + "description": "A lightweight, cost-efficient variant of Gemini 2.0 Flash optimized for low latency and high throughput, supporting multimodal input with text output.", + "contextWindow": 1048576, + "maxOutputTokens": 8192, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-02-05", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2026-06-01", + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:00:56.775Z", + "baseModelName": null }, "gemini-2.0-flash-lite-preview-02-05": { - provider: "google", - description: - "Google's cost-optimized, low-latency model in the Gemini 2.0 family, designed for high-volume tasks like summarization, multimodal processing, and categorization.", - contextWindow: 1048576, - maxOutputTokens: 8192, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-02-05", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2025-12-09", - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:01:34.165Z", - baseModelName: null, + "provider": "google", + "description": "Google's cost-optimized, low-latency model in the Gemini 2.0 family, designed for high-volume tasks like summarization, multimodal processing, and categorization.", + "contextWindow": 1048576, + "maxOutputTokens": 8192, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-02-05", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2025-12-09", + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:01:34.165Z", + "baseModelName": null }, "gemini-2.5-flash": { - provider: "google", - description: - "Google's best price-performance model optimized for low-latency, high-volume tasks requiring reasoning, with built-in thinking capabilities and multimodal input support.", - contextWindow: 1048576, - maxOutputTokens: 65536, - capabilities: [ + "provider": "google", + "description": "Google's best price-performance model optimized for low-latency, high-volume tasks requiring reasoning, with built-in thinking capabilities and multimodal input support.", + "contextWindow": 1048576, + "maxOutputTokens": 65536, + "capabilities": [ "vision", "tool_use", "streaming", "json_mode", "extended_thinking", "code_execution", - "audio_input", + "audio_input" ], - releaseDate: "2025-06-01", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: false, - deprecationDate: null, - knowledgeCutoff: "2025-01-01", - resolvedAt: "2026-03-24T11:01:25.200Z", - baseModelName: null, + "releaseDate": "2025-06-01", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": false, + "deprecationDate": null, + "knowledgeCutoff": "2025-01-01", + "resolvedAt": "2026-03-24T11:01:25.200Z", + "baseModelName": null }, "gemini-2.5-flash-lite": { - provider: "google", - description: - "Google's most cost-efficient Gemini model, optimized for low-latency use cases with strong reasoning, multilingual, and long-context capabilities at minimal cost.", - contextWindow: 1048576, - maxOutputTokens: 65535, - capabilities: [ + "provider": "google", + "description": "Google's most cost-efficient Gemini model, optimized for low-latency use cases with strong reasoning, multilingual, and long-context capabilities at minimal cost.", + "contextWindow": 1048576, + "maxOutputTokens": 65535, + "capabilities": [ "vision", "tool_use", "streaming", "json_mode", "extended_thinking", "code_execution", - "audio_input", + "audio_input" ], - releaseDate: "2025-07-22", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2026-07-22", - knowledgeCutoff: "2025-01-01", - resolvedAt: "2026-03-24T11:02:30.060Z", - baseModelName: null, + "releaseDate": "2025-07-22", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2026-07-22", + "knowledgeCutoff": "2025-01-01", + "resolvedAt": "2026-03-24T11:02:30.060Z", + "baseModelName": null }, "gemini-2.5-pro": { - provider: "google", - description: - "Google's most advanced reasoning model with deep thinking capabilities, excelling at complex tasks like coding, math, and multimodal understanding across text, images, audio, and video.", - contextWindow: 1048576, - maxOutputTokens: 65535, - capabilities: [ + "provider": "google", + "description": "Google's most advanced reasoning model with deep thinking capabilities, excelling at complex tasks like coding, math, and multimodal understanding across text, images, audio, and video.", + "contextWindow": 1048576, + "maxOutputTokens": 65535, + "capabilities": [ "vision", "tool_use", "streaming", "json_mode", "extended_thinking", "code_execution", - "audio_input", + "audio_input" ], - releaseDate: "2025-03-25", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2026-06-17", - knowledgeCutoff: "2025-01-31", - resolvedAt: "2026-03-24T11:02:25.573Z", - baseModelName: null, + "releaseDate": "2025-03-25", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2026-06-17", + "knowledgeCutoff": "2025-01-31", + "resolvedAt": "2026-03-24T11:02:25.573Z", + "baseModelName": null }, "gemini-3-flash-preview": { - provider: "google", - description: - "Google's high-speed thinking model that matches Gemini 2.5 Pro performance at ~3x faster speed and lower cost, designed for agentic workflows, multi-turn chat, and coding assistance with configurable reasoning levels.", - contextWindow: 1048576, - maxOutputTokens: 65536, - capabilities: [ + "provider": "google", + "description": "Google's high-speed thinking model that matches Gemini 2.5 Pro performance at ~3x faster speed and lower cost, designed for agentic workflows, multi-turn chat, and coding assistance with configurable reasoning levels.", + "contextWindow": 1048576, + "maxOutputTokens": 65536, + "capabilities": [ "vision", "tool_use", "streaming", "json_mode", "extended_thinking", "code_execution", - "audio_input", + "audio_input" ], - releaseDate: "2025-12-17", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-01-01", - resolvedAt: "2026-03-24T11:02:13.388Z", - baseModelName: null, + "releaseDate": "2025-12-17", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-01-01", + "resolvedAt": "2026-03-24T11:02:13.388Z", + "baseModelName": null }, "gemini-3-pro-preview": { - provider: "google", - description: - "Google's flagship reasoning and multimodal model with strong coding and agentic capabilities, now deprecated in favor of Gemini 3.1 Pro.", - contextWindow: 1048576, - maxOutputTokens: 65536, - capabilities: [ + "provider": "google", + "description": "Google's flagship reasoning and multimodal model with strong coding and agentic capabilities, now deprecated in favor of Gemini 3.1 Pro.", + "contextWindow": 1048576, + "maxOutputTokens": 65536, + "capabilities": [ "vision", "tool_use", "streaming", "json_mode", "extended_thinking", "code_execution", - "audio_input", + "audio_input" ], - releaseDate: "2025-11-01", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2026-03-09", - knowledgeCutoff: "2025-01-01", - resolvedAt: "2026-03-24T11:02:29.313Z", - baseModelName: null, + "releaseDate": "2025-11-01", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2026-03-09", + "knowledgeCutoff": "2025-01-01", + "resolvedAt": "2026-03-24T11:02:29.313Z", + "baseModelName": null }, "gemini-3.1-flash-lite-preview": { - provider: "google", - description: - "Google's most cost-efficient multimodal model in the Gemini 3 series, optimized for high-volume, low-latency tasks like translation, classification, and simple data extraction. Offers 2.5x faster time-to-first-token than Gemini 2.5 Flash.", - contextWindow: 1048576, - maxOutputTokens: 65536, - capabilities: [ + "provider": "google", + "description": "Google's most cost-efficient multimodal model in the Gemini 3 series, optimized for high-volume, low-latency tasks like translation, classification, and simple data extraction. Offers 2.5x faster time-to-first-token than Gemini 2.5 Flash.", + "contextWindow": 1048576, + "maxOutputTokens": 65536, + "capabilities": [ "vision", "tool_use", "streaming", "json_mode", "extended_thinking", "code_execution", - "audio_input", + "audio_input" ], - releaseDate: "2026-03-03", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-01-01", - resolvedAt: "2026-03-24T11:02:29.253Z", - baseModelName: null, + "releaseDate": "2026-03-03", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-01-01", + "resolvedAt": "2026-03-24T11:02:29.253Z", + "baseModelName": null }, "gemini-3.1-pro-preview": { - provider: "google", - description: - "Google's most advanced reasoning model in the Gemini 3.1 family, excelling at complex problem-solving across text, audio, images, video, and code with a 1M token context window and extended thinking capabilities.", - contextWindow: 1048576, - maxOutputTokens: 65536, - capabilities: [ + "provider": "google", + "description": "Google's most advanced reasoning model in the Gemini 3.1 family, excelling at complex problem-solving across text, audio, images, video, and code with a 1M token context window and extended thinking capabilities.", + "contextWindow": 1048576, + "maxOutputTokens": 65536, + "capabilities": [ "vision", "tool_use", "streaming", "json_mode", "extended_thinking", "code_execution", - "audio_input", + "audio_input" ], - releaseDate: "2026-02-19", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-01-01", - resolvedAt: "2026-03-24T11:03:33.071Z", - baseModelName: null, + "releaseDate": "2026-02-19", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-01-01", + "resolvedAt": "2026-03-24T11:03:33.071Z", + "baseModelName": null }, "gemini-pro": { - provider: "google", - description: - "Google's first-generation Gemini model for text generation, reasoning, and multi-turn conversation. Superseded by Gemini 1.5 Pro and later models.", - contextWindow: 32768, - maxOutputTokens: 8192, - capabilities: ["tool_use", "streaming", "json_mode"], - releaseDate: "2023-12-13", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: false, - deprecationDate: "2025-04-09", - knowledgeCutoff: "2023-04-01", - resolvedAt: "2026-03-24T11:03:45.401Z", - baseModelName: null, + "provider": "google", + "description": "Google's first-generation Gemini model for text generation, reasoning, and multi-turn conversation. Superseded by Gemini 1.5 Pro and later models.", + "contextWindow": 32768, + "maxOutputTokens": 8192, + "capabilities": [ + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2023-12-13", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": false, + "deprecationDate": "2025-04-09", + "knowledgeCutoff": "2023-04-01", + "resolvedAt": "2026-03-24T11:03:45.401Z", + "baseModelName": null }, "gpt-3.5-turbo": { - provider: "openai", - description: - "OpenAI's fast and cost-effective model optimized for chat and instruction-following tasks, now superseded by GPT-4o mini.", - contextWindow: 16385, - maxOutputTokens: 4096, - capabilities: ["tool_use", "streaming", "json_mode", "fine_tunable"], - releaseDate: "2023-03-01", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2025-09-13", - knowledgeCutoff: "2021-09-01", - resolvedAt: "2026-03-24T11:03:11.412Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's fast and cost-effective model optimized for chat and instruction-following tasks, now superseded by GPT-4o mini.", + "contextWindow": 16385, + "maxOutputTokens": 4096, + "capabilities": [ + "tool_use", + "streaming", + "json_mode", + "fine_tunable" + ], + "releaseDate": "2023-03-01", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2025-09-13", + "knowledgeCutoff": "2021-09-01", + "resolvedAt": "2026-03-24T11:03:11.412Z", + "baseModelName": null }, "gpt-3.5-turbo-0125": { - provider: "openai", - description: - "A fast and cost-effective GPT-3.5 Turbo snapshot optimized for chat completions, offering improved accuracy for function calling and reduced instances of incomplete responses.", - contextWindow: 16385, - maxOutputTokens: 4096, - capabilities: ["tool_use", "streaming", "json_mode", "fine_tunable"], - releaseDate: "2024-01-25", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2025-09-13", - knowledgeCutoff: "2021-09-01", - resolvedAt: "2026-03-24T11:03:11.310Z", - baseModelName: null, + "provider": "openai", + "description": "A fast and cost-effective GPT-3.5 Turbo snapshot optimized for chat completions, offering improved accuracy for function calling and reduced instances of incomplete responses.", + "contextWindow": 16385, + "maxOutputTokens": 4096, + "capabilities": [ + "tool_use", + "streaming", + "json_mode", + "fine_tunable" + ], + "releaseDate": "2024-01-25", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2025-09-13", + "knowledgeCutoff": "2021-09-01", + "resolvedAt": "2026-03-24T11:03:11.310Z", + "baseModelName": null }, "gpt-3.5-turbo-0301": { - provider: "openai", - description: - "Early snapshot of GPT-3.5 Turbo, OpenAI's first ChatGPT-optimized model for chat completions. Fast and cost-effective for simple tasks but superseded by later revisions.", - contextWindow: 4096, - maxOutputTokens: 4096, - capabilities: ["streaming", "fine_tunable"], - releaseDate: "2023-03-01", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2024-06-13", - knowledgeCutoff: "2021-09-01", - resolvedAt: "2026-03-24T11:03:12.060Z", - baseModelName: null, + "provider": "openai", + "description": "Early snapshot of GPT-3.5 Turbo, OpenAI's first ChatGPT-optimized model for chat completions. Fast and cost-effective for simple tasks but superseded by later revisions.", + "contextWindow": 4096, + "maxOutputTokens": 4096, + "capabilities": [ + "streaming", + "fine_tunable" + ], + "releaseDate": "2023-03-01", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2024-06-13", + "knowledgeCutoff": "2021-09-01", + "resolvedAt": "2026-03-24T11:03:12.060Z", + "baseModelName": null }, "gpt-3.5-turbo-0613": { - provider: "openai", - description: - "A snapshot of GPT-3.5 Turbo from June 2023, optimized for chat and instruction-following tasks with function calling support.", - contextWindow: 4096, - maxOutputTokens: 4096, - capabilities: ["tool_use", "streaming", "json_mode", "fine_tunable"], - releaseDate: "2023-06-13", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2024-09-13", - knowledgeCutoff: "2021-09-01", - resolvedAt: "2026-03-24T11:04:04.463Z", - baseModelName: null, + "provider": "openai", + "description": "A snapshot of GPT-3.5 Turbo from June 2023, optimized for chat and instruction-following tasks with function calling support.", + "contextWindow": 4096, + "maxOutputTokens": 4096, + "capabilities": [ + "tool_use", + "streaming", + "json_mode", + "fine_tunable" + ], + "releaseDate": "2023-06-13", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2024-09-13", + "knowledgeCutoff": "2021-09-01", + "resolvedAt": "2026-03-24T11:04:04.463Z", + "baseModelName": null }, "gpt-3.5-turbo-1106": { - provider: "openai", - description: - "A dated snapshot of GPT-3.5 Turbo released in November 2023, offering improved instruction following, JSON mode, and parallel function calling over previous GPT-3.5 variants.", - contextWindow: 16385, - maxOutputTokens: 4096, - capabilities: ["tool_use", "streaming", "json_mode", "fine_tunable"], - releaseDate: "2023-11-06", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2025-09-13", - knowledgeCutoff: "2021-09-01", - resolvedAt: "2026-03-24T11:04:23.054Z", - baseModelName: null, + "provider": "openai", + "description": "A dated snapshot of GPT-3.5 Turbo released in November 2023, offering improved instruction following, JSON mode, and parallel function calling over previous GPT-3.5 variants.", + "contextWindow": 16385, + "maxOutputTokens": 4096, + "capabilities": [ + "tool_use", + "streaming", + "json_mode", + "fine_tunable" + ], + "releaseDate": "2023-11-06", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2025-09-13", + "knowledgeCutoff": "2021-09-01", + "resolvedAt": "2026-03-24T11:04:23.054Z", + "baseModelName": null }, "gpt-3.5-turbo-16k": { - provider: "openai", - description: - "Extended context version of GPT-3.5 Turbo with 16K token context window, offering the same capabilities as the base model but able to process longer inputs.", - contextWindow: 16384, - maxOutputTokens: 4096, - capabilities: ["streaming", "json_mode", "fine_tunable", "tool_use"], - releaseDate: "2023-06-13", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2025-09-13", - knowledgeCutoff: "2021-09-01", - resolvedAt: "2026-03-24T11:04:36.307Z", - baseModelName: null, + "provider": "openai", + "description": "Extended context version of GPT-3.5 Turbo with 16K token context window, offering the same capabilities as the base model but able to process longer inputs.", + "contextWindow": 16384, + "maxOutputTokens": 4096, + "capabilities": [ + "streaming", + "json_mode", + "fine_tunable", + "tool_use" + ], + "releaseDate": "2023-06-13", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2025-09-13", + "knowledgeCutoff": "2021-09-01", + "resolvedAt": "2026-03-24T11:04:36.307Z", + "baseModelName": null }, "gpt-3.5-turbo-16k-0613": { - provider: "openai", - description: - "Extended context window variant of GPT-3.5 Turbo with 16K token context, snapshot from June 2023. Optimized for chat completions with longer document processing.", - contextWindow: 16384, - maxOutputTokens: 4096, - capabilities: ["streaming", "json_mode", "fine_tunable"], - releaseDate: "2023-06-13", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2024-09-13", - knowledgeCutoff: "2021-09-01", - resolvedAt: "2026-03-24T11:04:22.894Z", - baseModelName: null, + "provider": "openai", + "description": "Extended context window variant of GPT-3.5 Turbo with 16K token context, snapshot from June 2023. Optimized for chat completions with longer document processing.", + "contextWindow": 16384, + "maxOutputTokens": 4096, + "capabilities": [ + "streaming", + "json_mode", + "fine_tunable" + ], + "releaseDate": "2023-06-13", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2024-09-13", + "knowledgeCutoff": "2021-09-01", + "resolvedAt": "2026-03-24T11:04:22.894Z", + "baseModelName": null }, "gpt-3.5-turbo-instruct": { - provider: "openai", - description: - "OpenAI's GPT-3.5 Turbo Instruct is a completions-only model (not chat) optimized for following explicit instructions, replacing the legacy text-davinci-003 model.", - contextWindow: 4096, - maxOutputTokens: 4096, - capabilities: ["fine_tunable"], - releaseDate: "2023-09-19", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2025-01-27", - knowledgeCutoff: "2021-09-01", - resolvedAt: "2026-03-24T11:04:22.309Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's GPT-3.5 Turbo Instruct is a completions-only model (not chat) optimized for following explicit instructions, replacing the legacy text-davinci-003 model.", + "contextWindow": 4096, + "maxOutputTokens": 4096, + "capabilities": [ + "fine_tunable" + ], + "releaseDate": "2023-09-19", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2025-01-27", + "knowledgeCutoff": "2021-09-01", + "resolvedAt": "2026-03-24T11:04:22.309Z", + "baseModelName": null }, "gpt-4": { - provider: "openai", - description: - "OpenAI's flagship large language model that preceded GPT-4o, known for strong reasoning and instruction-following capabilities across a wide range of tasks.", - contextWindow: 8192, - maxOutputTokens: 8192, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2023-03-14", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2025-06-06", - knowledgeCutoff: "2023-12-01", - resolvedAt: "2026-03-24T11:04:36.773Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's flagship large language model that preceded GPT-4o, known for strong reasoning and instruction-following capabilities across a wide range of tasks.", + "contextWindow": 8192, + "maxOutputTokens": 8192, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2023-03-14", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2025-06-06", + "knowledgeCutoff": "2023-12-01", + "resolvedAt": "2026-03-24T11:04:36.773Z", + "baseModelName": null }, "gpt-4-0125-preview": { - provider: "openai", - description: - "An improved GPT-4 Turbo preview model with better task completion, reduced laziness in code generation, and enhanced instruction following.", - contextWindow: 128000, - maxOutputTokens: 4096, - capabilities: ["tool_use", "streaming", "json_mode"], - releaseDate: "2024-01-25", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-12-01", - resolvedAt: "2026-03-24T11:04:54.196Z", - baseModelName: null, + "provider": "openai", + "description": "An improved GPT-4 Turbo preview model with better task completion, reduced laziness in code generation, and enhanced instruction following.", + "contextWindow": 128000, + "maxOutputTokens": 4096, + "capabilities": [ + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-01-25", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-12-01", + "resolvedAt": "2026-03-24T11:04:54.196Z", + "baseModelName": null }, "gpt-4-0314": { - provider: "openai", - description: - "Original GPT-4 snapshot from March 2023, a large multimodal model (text-only at launch) that was one of OpenAI's first GPT-4 releases. Now deprecated and replaced by newer GPT-4 variants.", - contextWindow: 8192, - maxOutputTokens: 4096, - capabilities: ["streaming"], - releaseDate: "2023-03-14", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2024-06-13", - knowledgeCutoff: "2021-09-01", - resolvedAt: "2026-03-24T11:05:14.112Z", - baseModelName: null, + "provider": "openai", + "description": "Original GPT-4 snapshot from March 2023, a large multimodal model (text-only at launch) that was one of OpenAI's first GPT-4 releases. Now deprecated and replaced by newer GPT-4 variants.", + "contextWindow": 8192, + "maxOutputTokens": 4096, + "capabilities": [ + "streaming" + ], + "releaseDate": "2023-03-14", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2024-06-13", + "knowledgeCutoff": "2021-09-01", + "resolvedAt": "2026-03-24T11:05:14.112Z", + "baseModelName": null }, "gpt-4-0613": { - provider: "openai", - description: - "A snapshot of GPT-4 from June 2023, offering strong reasoning and instruction-following capabilities. It was one of the first widely available GPT-4 variants with function calling support.", - contextWindow: 8192, - maxOutputTokens: 8192, - capabilities: ["tool_use", "streaming", "json_mode", "fine_tunable"], - releaseDate: "2023-06-13", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2025-06-06", - knowledgeCutoff: "2021-09-01", - resolvedAt: "2026-03-24T11:05:13.885Z", - baseModelName: null, + "provider": "openai", + "description": "A snapshot of GPT-4 from June 2023, offering strong reasoning and instruction-following capabilities. It was one of the first widely available GPT-4 variants with function calling support.", + "contextWindow": 8192, + "maxOutputTokens": 8192, + "capabilities": [ + "tool_use", + "streaming", + "json_mode", + "fine_tunable" + ], + "releaseDate": "2023-06-13", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2025-06-06", + "knowledgeCutoff": "2021-09-01", + "resolvedAt": "2026-03-24T11:05:13.885Z", + "baseModelName": null }, "gpt-4-1106-preview": { - provider: "openai", - description: - "GPT-4 Turbo preview model with 128K context window, offering improved instruction following and JSON mode support at reduced cost compared to GPT-4.", - contextWindow: 128000, - maxOutputTokens: 4096, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2023-11-06", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-04-01", - resolvedAt: "2026-03-24T11:05:12.960Z", - baseModelName: null, + "provider": "openai", + "description": "GPT-4 Turbo preview model with 128K context window, offering improved instruction following and JSON mode support at reduced cost compared to GPT-4.", + "contextWindow": 128000, + "maxOutputTokens": 4096, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2023-11-06", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-04-01", + "resolvedAt": "2026-03-24T11:05:12.960Z", + "baseModelName": null }, "gpt-4-32k": { - provider: "openai", - description: - "Extended context window variant of GPT-4 with 32,768 token capacity, offering the same capabilities as GPT-4 but able to process longer documents and conversations.", - contextWindow: 32768, - maxOutputTokens: 4096, - capabilities: ["tool_use", "streaming", "json_mode"], - releaseDate: "2023-03-14", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2025-06-06", - knowledgeCutoff: "2021-09-01", - resolvedAt: "2026-03-24T11:05:14.584Z", - baseModelName: null, + "provider": "openai", + "description": "Extended context window variant of GPT-4 with 32,768 token capacity, offering the same capabilities as GPT-4 but able to process longer documents and conversations.", + "contextWindow": 32768, + "maxOutputTokens": 4096, + "capabilities": [ + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2023-03-14", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2025-06-06", + "knowledgeCutoff": "2021-09-01", + "resolvedAt": "2026-03-24T11:05:14.584Z", + "baseModelName": null }, "gpt-4-32k-0314": { - provider: "openai", - description: - "Extended context (32k token) variant of the original GPT-4 launch snapshot from March 2024, offering the same capabilities as gpt-4-0314 but with 4x the context window.", - contextWindow: 32768, - maxOutputTokens: 4096, - capabilities: ["streaming"], - releaseDate: "2023-03-14", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2024-06-13", - knowledgeCutoff: "2021-09-01", - resolvedAt: "2026-03-24T11:05:32.044Z", - baseModelName: null, + "provider": "openai", + "description": "Extended context (32k token) variant of the original GPT-4 launch snapshot from March 2024, offering the same capabilities as gpt-4-0314 but with 4x the context window.", + "contextWindow": 32768, + "maxOutputTokens": 4096, + "capabilities": [ + "streaming" + ], + "releaseDate": "2023-03-14", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2024-06-13", + "knowledgeCutoff": "2021-09-01", + "resolvedAt": "2026-03-24T11:05:32.044Z", + "baseModelName": null }, "gpt-4-32k-0613": { - provider: "openai", - description: - "Extended context window variant of GPT-4 with 32,768 token context, based on the June 2023 snapshot. Offers the same capabilities as GPT-4 but with 4x the context length.", - contextWindow: 32768, - maxOutputTokens: 4096, - capabilities: ["tool_use", "streaming", "json_mode"], - releaseDate: "2023-06-13", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2025-06-06", - knowledgeCutoff: "2021-09-01", - resolvedAt: "2026-03-24T11:05:53.070Z", - baseModelName: null, + "provider": "openai", + "description": "Extended context window variant of GPT-4 with 32,768 token context, based on the June 2023 snapshot. Offers the same capabilities as GPT-4 but with 4x the context length.", + "contextWindow": 32768, + "maxOutputTokens": 4096, + "capabilities": [ + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2023-06-13", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2025-06-06", + "knowledgeCutoff": "2021-09-01", + "resolvedAt": "2026-03-24T11:05:53.070Z", + "baseModelName": null }, "gpt-4-preview": { - provider: "openai", - description: - "GPT-4 Turbo preview model with 128K context window, JSON mode, and parallel function calling. A preview release in the GPT-4 Turbo series, now deprecated in favor of newer models.", - contextWindow: 128000, - maxOutputTokens: 4096, - capabilities: ["tool_use", "streaming", "json_mode"], - releaseDate: "2023-11-06", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2025-06-06", - knowledgeCutoff: "2023-04-01", - resolvedAt: "2026-03-24T11:06:54.248Z", - baseModelName: null, + "provider": "openai", + "description": "GPT-4 Turbo preview model with 128K context window, JSON mode, and parallel function calling. A preview release in the GPT-4 Turbo series, now deprecated in favor of newer models.", + "contextWindow": 128000, + "maxOutputTokens": 4096, + "capabilities": [ + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2023-11-06", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2025-06-06", + "knowledgeCutoff": "2023-04-01", + "resolvedAt": "2026-03-24T11:06:54.248Z", + "baseModelName": null }, "gpt-4-turbo": { - provider: "openai", - description: - "OpenAI's optimized GPT-4 variant offering faster inference and lower cost than the original GPT-4, with vision capabilities and a 128K context window.", - contextWindow: 128000, - maxOutputTokens: 4096, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2024-04-09", - isHidden: false, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-12-01", - resolvedAt: "2026-03-24T11:05:51.415Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's optimized GPT-4 variant offering faster inference and lower cost than the original GPT-4, with vision capabilities and a 128K context window.", + "contextWindow": 128000, + "maxOutputTokens": 4096, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-04-09", + "isHidden": false, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-12-01", + "resolvedAt": "2026-03-24T11:05:51.415Z", + "baseModelName": null }, "gpt-4-turbo-2024-04-09": { - provider: "openai", - description: - "OpenAI's optimized GPT-4 variant offering faster inference and lower cost than the original GPT-4, with vision capabilities and a 128K context window.", - contextWindow: 128000, - maxOutputTokens: 4096, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2024-04-09", - isHidden: false, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-12-01", - resolvedAt: "2026-03-24T11:05:51.415Z", - baseModelName: "gpt-4-turbo", + "provider": "openai", + "description": "OpenAI's optimized GPT-4 variant offering faster inference and lower cost than the original GPT-4, with vision capabilities and a 128K context window.", + "contextWindow": 128000, + "maxOutputTokens": 4096, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-04-09", + "isHidden": false, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-12-01", + "resolvedAt": "2026-03-24T11:05:51.415Z", + "baseModelName": "gpt-4-turbo" }, "gpt-4-turbo-preview": { - provider: "openai", - description: - "An early preview of GPT-4 Turbo with a 128K context window, offering improved instruction following and JSON mode support at reduced cost compared to GPT-4.", - contextWindow: 128000, - maxOutputTokens: 4096, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2024-01-25", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-12-01", - resolvedAt: "2026-03-24T11:05:52.346Z", - baseModelName: null, + "provider": "openai", + "description": "An early preview of GPT-4 Turbo with a 128K context window, offering improved instruction following and JSON mode support at reduced cost compared to GPT-4.", + "contextWindow": 128000, + "maxOutputTokens": 4096, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-01-25", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-12-01", + "resolvedAt": "2026-03-24T11:05:52.346Z", + "baseModelName": null }, "gpt-4-turbo-vision": { - provider: "openai", - description: - "OpenAI's GPT-4 Turbo model with vision capabilities, able to analyze and understand images alongside text. It was a preview model later superseded by GPT-4 Turbo (gpt-4-turbo-2024-04-09) and then GPT-4o.", - contextWindow: 128000, - maxOutputTokens: 4096, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2023-11-06", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2024-12-06", - knowledgeCutoff: "2023-04-01", - resolvedAt: "2026-03-24T11:06:38.455Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's GPT-4 Turbo model with vision capabilities, able to analyze and understand images alongside text. It was a preview model later superseded by GPT-4 Turbo (gpt-4-turbo-2024-04-09) and then GPT-4o.", + "contextWindow": 128000, + "maxOutputTokens": 4096, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2023-11-06", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2024-12-06", + "knowledgeCutoff": "2023-04-01", + "resolvedAt": "2026-03-24T11:06:38.455Z", + "baseModelName": null }, "gpt-4.1": { - provider: "openai", - description: - "OpenAI's flagship model optimized for coding, instruction following, and tool calling with a 1M token context window. Excels at structured outputs and long-context tasks.", - contextWindow: 1047576, - maxOutputTokens: 32768, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-04-14", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:07:00.439Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's flagship model optimized for coding, instruction following, and tool calling with a 1M token context window. Excels at structured outputs and long-context tasks.", + "contextWindow": 1047576, + "maxOutputTokens": 32768, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-04-14", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:07:00.439Z", + "baseModelName": null }, "gpt-4.1-2025-04-14": { - provider: "openai", - description: - "OpenAI's flagship model optimized for coding, instruction following, and tool calling with a 1M token context window. Excels at structured outputs and long-context tasks.", - contextWindow: 1047576, - maxOutputTokens: 32768, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-04-14", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:07:00.439Z", - baseModelName: "gpt-4.1", + "provider": "openai", + "description": "OpenAI's flagship model optimized for coding, instruction following, and tool calling with a 1M token context window. Excels at structured outputs and long-context tasks.", + "contextWindow": 1047576, + "maxOutputTokens": 32768, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-04-14", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:07:00.439Z", + "baseModelName": "gpt-4.1" }, "gpt-4.1-mini": { - provider: "openai", - description: - "A compact, cost-efficient model in OpenAI's GPT-4.1 family that matches or exceeds GPT-4o on many benchmarks while offering nearly half the latency and significantly lower cost.", - contextWindow: 1000000, - maxOutputTokens: 32768, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "fine_tunable"], - releaseDate: "2025-04-14", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:08:14.524Z", - baseModelName: null, + "provider": "openai", + "description": "A compact, cost-efficient model in OpenAI's GPT-4.1 family that matches or exceeds GPT-4o on many benchmarks while offering nearly half the latency and significantly lower cost.", + "contextWindow": 1000000, + "maxOutputTokens": 32768, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "fine_tunable" + ], + "releaseDate": "2025-04-14", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:08:14.524Z", + "baseModelName": null }, "gpt-4.1-mini-2025-04-14": { - provider: "openai", - description: - "A compact, cost-efficient model in OpenAI's GPT-4.1 family that matches or exceeds GPT-4o on many benchmarks while offering nearly half the latency and significantly lower cost.", - contextWindow: 1000000, - maxOutputTokens: 32768, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "fine_tunable"], - releaseDate: "2025-04-14", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:08:14.524Z", - baseModelName: "gpt-4.1-mini", + "provider": "openai", + "description": "A compact, cost-efficient model in OpenAI's GPT-4.1 family that matches or exceeds GPT-4o on many benchmarks while offering nearly half the latency and significantly lower cost.", + "contextWindow": 1000000, + "maxOutputTokens": 32768, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "fine_tunable" + ], + "releaseDate": "2025-04-14", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:08:14.524Z", + "baseModelName": "gpt-4.1-mini" }, "gpt-4.1-nano": { - provider: "openai", - description: - "OpenAI's fastest and most cost-effective model in the GPT-4.1 family, optimized for low-latency tasks like classification, autocompletion, and lightweight agentic workflows with strong instruction-following and tool-calling capabilities.", - contextWindow: 1047576, - maxOutputTokens: 32768, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-04-14", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:08:04.533Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's fastest and most cost-effective model in the GPT-4.1 family, optimized for low-latency tasks like classification, autocompletion, and lightweight agentic workflows with strong instruction-following and tool-calling capabilities.", + "contextWindow": 1047576, + "maxOutputTokens": 32768, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-04-14", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:08:04.533Z", + "baseModelName": null }, "gpt-4.1-nano-2025-04-14": { - provider: "openai", - description: - "OpenAI's fastest and most cost-effective model in the GPT-4.1 family, optimized for low-latency tasks like classification, autocompletion, and lightweight agentic workflows with strong instruction-following and tool-calling capabilities.", - contextWindow: 1047576, - maxOutputTokens: 32768, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-04-14", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:08:04.533Z", - baseModelName: "gpt-4.1-nano", + "provider": "openai", + "description": "OpenAI's fastest and most cost-effective model in the GPT-4.1 family, optimized for low-latency tasks like classification, autocompletion, and lightweight agentic workflows with strong instruction-following and tool-calling capabilities.", + "contextWindow": 1047576, + "maxOutputTokens": 32768, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-04-14", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:08:04.533Z", + "baseModelName": "gpt-4.1-nano" }, "gpt-4.5-preview": { - provider: "openai", - description: - "OpenAI's largest pretrained model before the GPT-5 series, emphasizing broad knowledge, creative writing, and improved emotional intelligence over reasoning-focused models.", - contextWindow: 128000, - maxOutputTokens: 16384, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-02-27", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2025-07-14", - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:07:57.880Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's largest pretrained model before the GPT-5 series, emphasizing broad knowledge, creative writing, and improved emotional intelligence over reasoning-focused models.", + "contextWindow": 128000, + "maxOutputTokens": 16384, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-02-27", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2025-07-14", + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:07:57.880Z", + "baseModelName": null }, "gpt-4.5-preview-2025-02-27": { - provider: "openai", - description: - "OpenAI's largest pretrained model before the GPT-5 series, emphasizing broad knowledge, creative writing, and improved emotional intelligence over reasoning-focused models.", - contextWindow: 128000, - maxOutputTokens: 16384, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-02-27", - isHidden: true, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2025-07-14", - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:07:57.880Z", - baseModelName: "gpt-4.5-preview", + "provider": "openai", + "description": "OpenAI's largest pretrained model before the GPT-5 series, emphasizing broad knowledge, creative writing, and improved emotional intelligence over reasoning-focused models.", + "contextWindow": 128000, + "maxOutputTokens": 16384, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-02-27", + "isHidden": true, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2025-07-14", + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:07:57.880Z", + "baseModelName": "gpt-4.5-preview" }, "gpt-4o": { - provider: "openai", - description: - "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", - contextWindow: 128000, - maxOutputTokens: 16384, - capabilities: [ + "provider": "openai", + "description": "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", + "contextWindow": 128000, + "maxOutputTokens": 16384, + "capabilities": [ "vision", "tool_use", "streaming", "json_mode", "audio_input", "audio_output", - "fine_tunable", + "fine_tunable" ], - releaseDate: "2024-05-13", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:07:31.638Z", - baseModelName: null, + "releaseDate": "2024-05-13", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:07:31.638Z", + "baseModelName": null }, "gpt-4o-2024-05-13": { - provider: "openai", - description: - "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", - contextWindow: 128000, - maxOutputTokens: 16384, - capabilities: [ + "provider": "openai", + "description": "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", + "contextWindow": 128000, + "maxOutputTokens": 16384, + "capabilities": [ "vision", "tool_use", "streaming", "json_mode", "audio_input", "audio_output", - "fine_tunable", + "fine_tunable" ], - releaseDate: "2024-05-13", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:07:31.638Z", - baseModelName: "gpt-4o", + "releaseDate": "2024-05-13", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:07:31.638Z", + "baseModelName": "gpt-4o" }, "gpt-4o-2024-08-06": { - provider: "openai", - description: - "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", - contextWindow: 128000, - maxOutputTokens: 16384, - capabilities: [ + "provider": "openai", + "description": "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", + "contextWindow": 128000, + "maxOutputTokens": 16384, + "capabilities": [ "vision", "tool_use", "streaming", "json_mode", "audio_input", "audio_output", - "fine_tunable", + "fine_tunable" ], - releaseDate: "2024-05-13", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:07:31.638Z", - baseModelName: "gpt-4o", + "releaseDate": "2024-05-13", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:07:31.638Z", + "baseModelName": "gpt-4o" }, "gpt-4o-2024-11-20": { - provider: "openai", - description: - "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", - contextWindow: 128000, - maxOutputTokens: 16384, - capabilities: [ + "provider": "openai", + "description": "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", + "contextWindow": 128000, + "maxOutputTokens": 16384, + "capabilities": [ "vision", "tool_use", "streaming", "json_mode", "audio_input", "audio_output", - "fine_tunable", + "fine_tunable" ], - releaseDate: "2024-05-13", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:07:31.638Z", - baseModelName: "gpt-4o", + "releaseDate": "2024-05-13", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:07:31.638Z", + "baseModelName": "gpt-4o" }, "gpt-4o-audio-preview": { - provider: "openai", - description: - "GPT-4o variant with native audio input and output capabilities via the Chat Completions API, supporting both text and audio modalities for conversational and voice-based applications.", - contextWindow: 128000, - maxOutputTokens: 16384, - capabilities: ["audio_input", "audio_output", "tool_use", "streaming"], - releaseDate: "2024-10-01", - isHidden: false, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2026-05-07", - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:08:09.590Z", - baseModelName: null, + "provider": "openai", + "description": "GPT-4o variant with native audio input and output capabilities via the Chat Completions API, supporting both text and audio modalities for conversational and voice-based applications.", + "contextWindow": 128000, + "maxOutputTokens": 16384, + "capabilities": [ + "audio_input", + "audio_output", + "tool_use", + "streaming" + ], + "releaseDate": "2024-10-01", + "isHidden": false, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2026-05-07", + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:08:09.590Z", + "baseModelName": null }, "gpt-4o-audio-preview-2024-10-01": { - provider: "openai", - description: - "GPT-4o variant with native audio input and output capabilities via the Chat Completions API, supporting both text and audio modalities for conversational and voice-based applications.", - contextWindow: 128000, - maxOutputTokens: 16384, - capabilities: ["audio_input", "audio_output", "tool_use", "streaming"], - releaseDate: "2024-10-01", - isHidden: false, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: "2026-05-07", - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:08:09.590Z", - baseModelName: "gpt-4o-audio-preview", + "provider": "openai", + "description": "GPT-4o variant with native audio input and output capabilities via the Chat Completions API, supporting both text and audio modalities for conversational and voice-based applications.", + "contextWindow": 128000, + "maxOutputTokens": 16384, + "capabilities": [ + "audio_input", + "audio_output", + "tool_use", + "streaming" + ], + "releaseDate": "2024-10-01", + "isHidden": false, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": "2026-05-07", + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:08:09.590Z", + "baseModelName": "gpt-4o-audio-preview" }, "gpt-4o-mini": { - provider: "openai", - description: - "Fast, affordable small model optimized for focused tasks. Positioned as OpenAI's cost-efficient option with strong performance on benchmarks relative to its size.", - contextWindow: 128000, - maxOutputTokens: 16384, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "fine_tunable"], - releaseDate: "2024-07-18", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:09:50.130Z", - baseModelName: null, + "provider": "openai", + "description": "Fast, affordable small model optimized for focused tasks. Positioned as OpenAI's cost-efficient option with strong performance on benchmarks relative to its size.", + "contextWindow": 128000, + "maxOutputTokens": 16384, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "fine_tunable" + ], + "releaseDate": "2024-07-18", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:09:50.130Z", + "baseModelName": null }, "gpt-4o-mini-2024-07-18": { - provider: "openai", - description: - "Fast, affordable small model optimized for focused tasks. Positioned as OpenAI's cost-efficient option with strong performance on benchmarks relative to its size.", - contextWindow: 128000, - maxOutputTokens: 16384, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "fine_tunable"], - releaseDate: "2024-07-18", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:09:50.130Z", - baseModelName: "gpt-4o-mini", + "provider": "openai", + "description": "Fast, affordable small model optimized for focused tasks. Positioned as OpenAI's cost-efficient option with strong performance on benchmarks relative to its size.", + "contextWindow": 128000, + "maxOutputTokens": 16384, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "fine_tunable" + ], + "releaseDate": "2024-07-18", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:09:50.130Z", + "baseModelName": "gpt-4o-mini" }, "gpt-4o-realtime-preview": { - provider: "openai", - description: - "OpenAI's real-time multimodal model capable of processing and generating both text and audio over WebRTC or WebSocket, enabling low-latency voice conversations and audio interactions.", - contextWindow: 128000, - maxOutputTokens: 4096, - capabilities: ["audio_input", "audio_output", "tool_use", "streaming"], - releaseDate: "2024-10-01", - isHidden: false, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: false, - deprecationDate: "2026-05-07", - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:09:35.495Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's real-time multimodal model capable of processing and generating both text and audio over WebRTC or WebSocket, enabling low-latency voice conversations and audio interactions.", + "contextWindow": 128000, + "maxOutputTokens": 4096, + "capabilities": [ + "audio_input", + "audio_output", + "tool_use", + "streaming" + ], + "releaseDate": "2024-10-01", + "isHidden": false, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": false, + "deprecationDate": "2026-05-07", + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:09:35.495Z", + "baseModelName": null }, "gpt-4o-realtime-preview-2024-10-01": { - provider: "openai", - description: - "OpenAI's real-time multimodal model capable of processing and generating both text and audio over WebRTC or WebSocket, enabling low-latency voice conversations and audio interactions.", - contextWindow: 128000, - maxOutputTokens: 4096, - capabilities: ["audio_input", "audio_output", "tool_use", "streaming"], - releaseDate: "2024-10-01", - isHidden: false, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: false, - deprecationDate: "2026-05-07", - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:09:35.495Z", - baseModelName: "gpt-4o-realtime-preview", + "provider": "openai", + "description": "OpenAI's real-time multimodal model capable of processing and generating both text and audio over WebRTC or WebSocket, enabling low-latency voice conversations and audio interactions.", + "contextWindow": 128000, + "maxOutputTokens": 4096, + "capabilities": [ + "audio_input", + "audio_output", + "tool_use", + "streaming" + ], + "releaseDate": "2024-10-01", + "isHidden": false, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": false, + "deprecationDate": "2026-05-07", + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:09:35.495Z", + "baseModelName": "gpt-4o-realtime-preview" }, "gpt-5": { - provider: "openai", - description: - "OpenAI's flagship reasoning model released August 2025, featuring a 400K token context window with strong coding, reasoning, and agentic capabilities.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: [ + "provider": "openai", + "description": "OpenAI's flagship reasoning model released August 2025, featuring a 400K token context window with strong coding, reasoning, and agentic capabilities.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ "vision", "tool_use", "streaming", "json_mode", "image_generation", - "code_execution", + "code_execution" ], - releaseDate: "2025-08-07", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-09-30", - resolvedAt: "2026-03-24T11:09:28.216Z", - baseModelName: null, + "releaseDate": "2025-08-07", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-09-30", + "resolvedAt": "2026-03-24T11:09:28.216Z", + "baseModelName": null }, "gpt-5-2025-08-07": { - provider: "openai", - description: - "OpenAI's flagship reasoning model released August 2025, featuring a 400K token context window with strong coding, reasoning, and agentic capabilities.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: [ + "provider": "openai", + "description": "OpenAI's flagship reasoning model released August 2025, featuring a 400K token context window with strong coding, reasoning, and agentic capabilities.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ "vision", "tool_use", "streaming", "json_mode", "image_generation", - "code_execution", + "code_execution" ], - releaseDate: "2025-08-07", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-09-30", - resolvedAt: "2026-03-24T11:09:28.216Z", - baseModelName: "gpt-5", + "releaseDate": "2025-08-07", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-09-30", + "resolvedAt": "2026-03-24T11:09:28.216Z", + "baseModelName": "gpt-5" }, "gpt-5-chat-latest": { - provider: "openai", - description: - "Non-reasoning GPT-5 model used in ChatGPT, optimized for conversational tasks. Supports text and image inputs with function calling and structured outputs.", - contextWindow: 128000, - maxOutputTokens: 16384, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-08-07", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-09-30", - resolvedAt: "2026-03-24T11:09:24.834Z", - baseModelName: "gpt-5-chat", + "provider": "openai", + "description": "Non-reasoning GPT-5 model used in ChatGPT, optimized for conversational tasks. Supports text and image inputs with function calling and structured outputs.", + "contextWindow": 128000, + "maxOutputTokens": 16384, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-08-07", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-09-30", + "resolvedAt": "2026-03-24T11:09:24.834Z", + "baseModelName": "gpt-5-chat" }, "gpt-5-mini": { - provider: "openai", - description: - "A faster, more cost-efficient version of GPT-5 designed for well-defined tasks and precise prompts. Supports reasoning with configurable effort levels and offers reduced latency compared to the full GPT-5 model.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-08-07", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-05-31", - resolvedAt: "2026-03-24T11:09:42.822Z", - baseModelName: null, + "provider": "openai", + "description": "A faster, more cost-efficient version of GPT-5 designed for well-defined tasks and precise prompts. Supports reasoning with configurable effort levels and offers reduced latency compared to the full GPT-5 model.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-08-07", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-05-31", + "resolvedAt": "2026-03-24T11:09:42.822Z", + "baseModelName": null }, "gpt-5-mini-2025-08-07": { - provider: "openai", - description: - "A faster, more cost-efficient version of GPT-5 designed for well-defined tasks and precise prompts. Supports reasoning with configurable effort levels and offers reduced latency compared to the full GPT-5 model.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-08-07", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-05-31", - resolvedAt: "2026-03-24T11:09:42.822Z", - baseModelName: "gpt-5-mini", + "provider": "openai", + "description": "A faster, more cost-efficient version of GPT-5 designed for well-defined tasks and precise prompts. Supports reasoning with configurable effort levels and offers reduced latency compared to the full GPT-5 model.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-08-07", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-05-31", + "resolvedAt": "2026-03-24T11:09:42.822Z", + "baseModelName": "gpt-5-mini" }, "gpt-5-nano": { - provider: "openai", - description: - "The smallest and fastest variant in the GPT-5 family, optimized for developer tools, rapid interactions, and ultra-low latency environments. Best suited for classification, data extraction, ranking, and sub-agent tasks.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-08-07", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-05-31", - resolvedAt: "2026-03-24T11:11:24.884Z", - baseModelName: null, + "provider": "openai", + "description": "The smallest and fastest variant in the GPT-5 family, optimized for developer tools, rapid interactions, and ultra-low latency environments. Best suited for classification, data extraction, ranking, and sub-agent tasks.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-08-07", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-05-31", + "resolvedAt": "2026-03-24T11:11:24.884Z", + "baseModelName": null }, "gpt-5-nano-2025-08-07": { - provider: "openai", - description: - "The smallest and fastest variant in the GPT-5 family, optimized for developer tools, rapid interactions, and ultra-low latency environments. Best suited for classification, data extraction, ranking, and sub-agent tasks.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-08-07", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-05-31", - resolvedAt: "2026-03-24T11:11:24.884Z", - baseModelName: "gpt-5-nano", + "provider": "openai", + "description": "The smallest and fastest variant in the GPT-5 family, optimized for developer tools, rapid interactions, and ultra-low latency environments. Best suited for classification, data extraction, ranking, and sub-agent tasks.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-08-07", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-05-31", + "resolvedAt": "2026-03-24T11:11:24.884Z", + "baseModelName": "gpt-5-nano" }, "gpt-5-pro": { - provider: "openai", - description: - "OpenAI's enhanced GPT-5 variant optimized for complex tasks requiring step-by-step reasoning, with reduced hallucination and improved code quality compared to the base GPT-5.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-10-06", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-10-01", - resolvedAt: "2026-03-24T11:11:37.048Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's enhanced GPT-5 variant optimized for complex tasks requiring step-by-step reasoning, with reduced hallucination and improved code quality compared to the base GPT-5.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-10-06", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-10-01", + "resolvedAt": "2026-03-24T11:11:37.048Z", + "baseModelName": null }, "gpt-5-pro-2025-10-06": { - provider: "openai", - description: - "OpenAI's enhanced GPT-5 variant optimized for complex tasks requiring step-by-step reasoning, with reduced hallucination and improved code quality compared to the base GPT-5.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-10-06", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-10-01", - resolvedAt: "2026-03-24T11:11:37.048Z", - baseModelName: "gpt-5-pro", + "provider": "openai", + "description": "OpenAI's enhanced GPT-5 variant optimized for complex tasks requiring step-by-step reasoning, with reduced hallucination and improved code quality compared to the base GPT-5.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-10-06", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-10-01", + "resolvedAt": "2026-03-24T11:11:37.048Z", + "baseModelName": "gpt-5-pro" }, "gpt-5.1": { - provider: "openai", - description: - "GPT-5.1 is OpenAI's frontier-grade model in the GPT-5 series, offering adaptive reasoning with configurable effort levels, improved coding and math performance, and a more natural conversational style compared to GPT-5.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-11-13", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-09-30", - resolvedAt: "2026-03-24T11:11:47.327Z", - baseModelName: null, + "provider": "openai", + "description": "GPT-5.1 is OpenAI's frontier-grade model in the GPT-5 series, offering adaptive reasoning with configurable effort levels, improved coding and math performance, and a more natural conversational style compared to GPT-5.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-11-13", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-09-30", + "resolvedAt": "2026-03-24T11:11:47.327Z", + "baseModelName": null }, "gpt-5.1-2025-11-13": { - provider: "openai", - description: - "GPT-5.1 is OpenAI's frontier-grade model in the GPT-5 series, offering adaptive reasoning with configurable effort levels, improved coding and math performance, and a more natural conversational style compared to GPT-5.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2025-11-13", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-09-30", - resolvedAt: "2026-03-24T11:11:47.327Z", - baseModelName: "gpt-5.1", + "provider": "openai", + "description": "GPT-5.1 is OpenAI's frontier-grade model in the GPT-5 series, offering adaptive reasoning with configurable effort levels, improved coding and math performance, and a more natural conversational style compared to GPT-5.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2025-11-13", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-09-30", + "resolvedAt": "2026-03-24T11:11:47.327Z", + "baseModelName": "gpt-5.1" }, "gpt-5.2": { - provider: "openai", - description: - "OpenAI's flagship multimodal model released December 2025, excelling at long-context reasoning, agentic tool use, software engineering, and professional knowledge work. Available in Instant, Thinking, and Pro variants.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-12-11", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-08-31", - resolvedAt: "2026-03-24T11:11:13.129Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's flagship multimodal model released December 2025, excelling at long-context reasoning, agentic tool use, software engineering, and professional knowledge work. Available in Instant, Thinking, and Pro variants.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-12-11", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-08-31", + "resolvedAt": "2026-03-24T11:11:13.129Z", + "baseModelName": null }, "gpt-5.2-2025-12-11": { - provider: "openai", - description: - "OpenAI's flagship multimodal model released December 2025, excelling at long-context reasoning, agentic tool use, software engineering, and professional knowledge work. Available in Instant, Thinking, and Pro variants.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-12-11", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-08-31", - resolvedAt: "2026-03-24T11:11:13.129Z", - baseModelName: "gpt-5.2", + "provider": "openai", + "description": "OpenAI's flagship multimodal model released December 2025, excelling at long-context reasoning, agentic tool use, software engineering, and professional knowledge work. Available in Instant, Thinking, and Pro variants.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-12-11", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-08-31", + "resolvedAt": "2026-03-24T11:11:13.129Z", + "baseModelName": "gpt-5.2" }, "gpt-5.2-pro": { - provider: "openai", - description: - "OpenAI's previous pro-tier reasoning model optimized for complex professional work requiring step-by-step reasoning, instruction following, and accuracy in high-stakes use cases. Superseded by GPT-5.4 pro.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "extended_thinking"], - releaseDate: "2025-12-11", - isHidden: false, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-08-31", - resolvedAt: "2026-03-24T11:11:12.711Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's previous pro-tier reasoning model optimized for complex professional work requiring step-by-step reasoning, instruction following, and accuracy in high-stakes use cases. Superseded by GPT-5.4 pro.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "extended_thinking" + ], + "releaseDate": "2025-12-11", + "isHidden": false, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-08-31", + "resolvedAt": "2026-03-24T11:11:12.711Z", + "baseModelName": null }, "gpt-5.2-pro-2025-12-11": { - provider: "openai", - description: - "OpenAI's previous pro-tier reasoning model optimized for complex professional work requiring step-by-step reasoning, instruction following, and accuracy in high-stakes use cases. Superseded by GPT-5.4 pro.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "extended_thinking"], - releaseDate: "2025-12-11", - isHidden: false, - supportsStructuredOutput: false, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-08-31", - resolvedAt: "2026-03-24T11:11:12.711Z", - baseModelName: "gpt-5.2-pro", + "provider": "openai", + "description": "OpenAI's previous pro-tier reasoning model optimized for complex professional work requiring step-by-step reasoning, instruction following, and accuracy in high-stakes use cases. Superseded by GPT-5.4 pro.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "extended_thinking" + ], + "releaseDate": "2025-12-11", + "isHidden": false, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-08-31", + "resolvedAt": "2026-03-24T11:11:12.711Z", + "baseModelName": "gpt-5.2-pro" }, "gpt-5.4": { - provider: "openai", - description: - "OpenAI's most capable frontier model as of March 2026, featuring state-of-the-art coding, native computer-use capabilities, and a 1M-token context window for professional and agentic workflows.", - contextWindow: 1050000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "code_execution"], - releaseDate: "2026-03-05", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-08-31", - resolvedAt: "2026-03-24T11:12:09.220Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's most capable frontier model as of March 2026, featuring state-of-the-art coding, native computer-use capabilities, and a 1M-token context window for professional and agentic workflows.", + "contextWindow": 1050000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "code_execution" + ], + "releaseDate": "2026-03-05", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-08-31", + "resolvedAt": "2026-03-24T11:12:09.220Z", + "baseModelName": null }, "gpt-5.4-2026-03-05": { - provider: "openai", - description: - "OpenAI's most capable frontier model as of March 2026, featuring state-of-the-art coding, native computer-use capabilities, and a 1M-token context window for professional and agentic workflows.", - contextWindow: 1050000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "code_execution"], - releaseDate: "2026-03-05", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-08-31", - resolvedAt: "2026-03-24T11:12:09.220Z", - baseModelName: "gpt-5.4", + "provider": "openai", + "description": "OpenAI's most capable frontier model as of March 2026, featuring state-of-the-art coding, native computer-use capabilities, and a 1M-token context window for professional and agentic workflows.", + "contextWindow": 1050000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "code_execution" + ], + "releaseDate": "2026-03-05", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-08-31", + "resolvedAt": "2026-03-24T11:12:09.220Z", + "baseModelName": "gpt-5.4" }, "gpt-5.4-mini": { - provider: "openai", - description: - "OpenAI's fast and efficient small model from the GPT-5.4 family, designed for high-volume workloads. Approaches GPT-5.4 performance on coding and reasoning while running over 2x faster than GPT-5 mini.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2026-03-17", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-08-31", - resolvedAt: "2026-03-24T11:12:35.473Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's fast and efficient small model from the GPT-5.4 family, designed for high-volume workloads. Approaches GPT-5.4 performance on coding and reasoning while running over 2x faster than GPT-5 mini.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2026-03-17", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-08-31", + "resolvedAt": "2026-03-24T11:12:35.473Z", + "baseModelName": null }, "gpt-5.4-mini-2026-03-17": { - provider: "openai", - description: - "OpenAI's fast and efficient small model from the GPT-5.4 family, designed for high-volume workloads. Approaches GPT-5.4 performance on coding and reasoning while running over 2x faster than GPT-5 mini.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2026-03-17", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-08-31", - resolvedAt: "2026-03-24T11:12:35.473Z", - baseModelName: "gpt-5.4-mini", + "provider": "openai", + "description": "OpenAI's fast and efficient small model from the GPT-5.4 family, designed for high-volume workloads. Approaches GPT-5.4 performance on coding and reasoning while running over 2x faster than GPT-5 mini.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2026-03-17", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-08-31", + "resolvedAt": "2026-03-24T11:12:35.473Z", + "baseModelName": "gpt-5.4-mini" }, "gpt-5.4-nano": { - provider: "openai", - description: - "OpenAI's cheapest GPT-5.4-class model optimized for simple high-volume tasks like classification, data extraction, ranking, and sub-agent delegation in agentic workflows.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2026-03-17", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-08-31", - resolvedAt: "2026-03-24T11:12:52.285Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's cheapest GPT-5.4-class model optimized for simple high-volume tasks like classification, data extraction, ranking, and sub-agent delegation in agentic workflows.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2026-03-17", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-08-31", + "resolvedAt": "2026-03-24T11:12:52.285Z", + "baseModelName": null }, "gpt-5.4-nano-2026-03-17": { - provider: "openai", - description: - "OpenAI's cheapest GPT-5.4-class model optimized for simple high-volume tasks like classification, data extraction, ranking, and sub-agent delegation in agentic workflows.", - contextWindow: 400000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2026-03-17", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-08-31", - resolvedAt: "2026-03-24T11:12:52.285Z", - baseModelName: "gpt-5.4-nano", + "provider": "openai", + "description": "OpenAI's cheapest GPT-5.4-class model optimized for simple high-volume tasks like classification, data extraction, ranking, and sub-agent delegation in agentic workflows.", + "contextWindow": 400000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2026-03-17", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-08-31", + "resolvedAt": "2026-03-24T11:12:52.285Z", + "baseModelName": "gpt-5.4-nano" }, "gpt-5.4-pro": { - provider: "openai", - description: - "OpenAI's highest-capability GPT-5.4 variant, using additional compute for harder problems. Available via Responses API only, designed for complex reasoning, coding, and agentic workflows.", - contextWindow: 1050000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "extended_thinking"], - releaseDate: "2026-03-05", - isHidden: false, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: null, - knowledgeCutoff: "2025-08-31", - resolvedAt: "2026-03-24T11:12:56.903Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's highest-capability GPT-5.4 variant, using additional compute for harder problems. Available via Responses API only, designed for complex reasoning, coding, and agentic workflows.", + "contextWindow": 1050000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "extended_thinking" + ], + "releaseDate": "2026-03-05", + "isHidden": false, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": null, + "knowledgeCutoff": "2025-08-31", + "resolvedAt": "2026-03-24T11:12:56.903Z", + "baseModelName": null }, "gpt-5.4-pro-2026-03-05": { - provider: "openai", - description: - "OpenAI's highest-capability GPT-5.4 variant, using additional compute for harder problems. Available via Responses API only, designed for complex reasoning, coding, and agentic workflows.", - contextWindow: 1050000, - maxOutputTokens: 128000, - capabilities: ["vision", "tool_use", "streaming", "extended_thinking"], - releaseDate: "2026-03-05", - isHidden: false, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: null, - knowledgeCutoff: "2025-08-31", - resolvedAt: "2026-03-24T11:12:56.903Z", - baseModelName: "gpt-5.4-pro", - }, - o1: { - provider: "openai", - description: - "OpenAI's reasoning model designed for complex tasks requiring multi-step logical thinking, excelling at math, science, and coding problems.", - contextWindow: 200000, - maxOutputTokens: 100000, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2024-12-17", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:12:23.948Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's highest-capability GPT-5.4 variant, using additional compute for harder problems. Available via Responses API only, designed for complex reasoning, coding, and agentic workflows.", + "contextWindow": 1050000, + "maxOutputTokens": 128000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "extended_thinking" + ], + "releaseDate": "2026-03-05", + "isHidden": false, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": null, + "knowledgeCutoff": "2025-08-31", + "resolvedAt": "2026-03-24T11:12:56.903Z", + "baseModelName": "gpt-5.4-pro" + }, + "o1": { + "provider": "openai", + "description": "OpenAI's reasoning model designed for complex tasks requiring multi-step logical thinking, excelling at math, science, and coding problems.", + "contextWindow": 200000, + "maxOutputTokens": 100000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-12-17", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:12:23.948Z", + "baseModelName": null }, "o1-2024-12-17": { - provider: "openai", - description: - "OpenAI's reasoning model designed for complex tasks requiring multi-step logical thinking, excelling at math, science, and coding problems.", - contextWindow: 200000, - maxOutputTokens: 100000, - capabilities: ["vision", "tool_use", "streaming", "json_mode"], - releaseDate: "2024-12-17", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:12:23.948Z", - baseModelName: "o1", + "provider": "openai", + "description": "OpenAI's reasoning model designed for complex tasks requiring multi-step logical thinking, excelling at math, science, and coding problems.", + "contextWindow": 200000, + "maxOutputTokens": 100000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode" + ], + "releaseDate": "2024-12-17", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:12:23.948Z", + "baseModelName": "o1" }, "o1-mini": { - provider: "openai", - description: - "A smaller, faster, and cheaper reasoning model in OpenAI's o1 series, optimized for coding, math, and science tasks requiring multi-step reasoning.", - contextWindow: 128000, - maxOutputTokens: 65536, - capabilities: ["streaming", "json_mode"], - releaseDate: "2024-09-12", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2025-06-30", - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:12:37.030Z", - baseModelName: null, + "provider": "openai", + "description": "A smaller, faster, and cheaper reasoning model in OpenAI's o1 series, optimized for coding, math, and science tasks requiring multi-step reasoning.", + "contextWindow": 128000, + "maxOutputTokens": 65536, + "capabilities": [ + "streaming", + "json_mode" + ], + "releaseDate": "2024-09-12", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2025-06-30", + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:12:37.030Z", + "baseModelName": null }, "o1-mini-2024-09-12": { - provider: "openai", - description: - "A smaller, faster, and cheaper reasoning model in OpenAI's o1 series, optimized for coding, math, and science tasks requiring multi-step reasoning.", - contextWindow: 128000, - maxOutputTokens: 65536, - capabilities: ["streaming", "json_mode"], - releaseDate: "2024-09-12", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2025-06-30", - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:12:37.030Z", - baseModelName: "o1-mini", + "provider": "openai", + "description": "A smaller, faster, and cheaper reasoning model in OpenAI's o1 series, optimized for coding, math, and science tasks requiring multi-step reasoning.", + "contextWindow": 128000, + "maxOutputTokens": 65536, + "capabilities": [ + "streaming", + "json_mode" + ], + "releaseDate": "2024-09-12", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2025-06-30", + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:12:37.030Z", + "baseModelName": "o1-mini" }, "o1-preview": { - provider: "openai", - description: - "OpenAI's first reasoning model using chain-of-thought to solve complex problems in science, coding, and math. Predecessor to o1 and o3 series.", - contextWindow: 128000, - maxOutputTokens: 32768, - capabilities: ["streaming"], - releaseDate: "2024-09-12", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2025-10-31", - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:12:59.198Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's first reasoning model using chain-of-thought to solve complex problems in science, coding, and math. Predecessor to o1 and o3 series.", + "contextWindow": 128000, + "maxOutputTokens": 32768, + "capabilities": [ + "streaming" + ], + "releaseDate": "2024-09-12", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2025-10-31", + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:12:59.198Z", + "baseModelName": null }, "o1-preview-2024-09-12": { - provider: "openai", - description: - "OpenAI's first reasoning model using chain-of-thought to solve complex problems in science, coding, and math. Predecessor to o1 and o3 series.", - contextWindow: 128000, - maxOutputTokens: 32768, - capabilities: ["streaming"], - releaseDate: "2024-09-12", - isHidden: true, - supportsStructuredOutput: false, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: "2025-10-31", - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:12:59.198Z", - baseModelName: "o1-preview", + "provider": "openai", + "description": "OpenAI's first reasoning model using chain-of-thought to solve complex problems in science, coding, and math. Predecessor to o1 and o3 series.", + "contextWindow": 128000, + "maxOutputTokens": 32768, + "capabilities": [ + "streaming" + ], + "releaseDate": "2024-09-12", + "isHidden": true, + "supportsStructuredOutput": false, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": "2025-10-31", + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:12:59.198Z", + "baseModelName": "o1-preview" }, "o1-pro": { - provider: "openai", - description: - "A version of OpenAI's o1 reasoning model that uses significantly more compute to deliver better, more consistent answers on complex reasoning tasks in science, coding, and math.", - contextWindow: 200000, - maxOutputTokens: 100000, - capabilities: ["vision", "tool_use", "json_mode", "extended_thinking"], - releaseDate: "2025-03-19", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: null, - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:13:57.532Z", - baseModelName: null, + "provider": "openai", + "description": "A version of OpenAI's o1 reasoning model that uses significantly more compute to deliver better, more consistent answers on complex reasoning tasks in science, coding, and math.", + "contextWindow": 200000, + "maxOutputTokens": 100000, + "capabilities": [ + "vision", + "tool_use", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-03-19", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": null, + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:13:57.532Z", + "baseModelName": null }, "o1-pro-2025-03-19": { - provider: "openai", - description: - "A version of OpenAI's o1 reasoning model that uses significantly more compute to deliver better, more consistent answers on complex reasoning tasks in science, coding, and math.", - contextWindow: 200000, - maxOutputTokens: 100000, - capabilities: ["vision", "tool_use", "json_mode", "extended_thinking"], - releaseDate: "2025-03-19", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: null, - knowledgeCutoff: "2023-10-01", - resolvedAt: "2026-03-24T11:13:57.532Z", - baseModelName: "o1-pro", - }, - o3: { - provider: "openai", - description: - "OpenAI's advanced reasoning model designed for complex tasks requiring deep reasoning, excelling at software engineering, mathematics, scientific reasoning, and visual reasoning tasks.", - contextWindow: 200000, - maxOutputTokens: 100000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-04-16", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:14:04.906Z", - baseModelName: null, + "provider": "openai", + "description": "A version of OpenAI's o1 reasoning model that uses significantly more compute to deliver better, more consistent answers on complex reasoning tasks in science, coding, and math.", + "contextWindow": 200000, + "maxOutputTokens": 100000, + "capabilities": [ + "vision", + "tool_use", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-03-19", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": null, + "knowledgeCutoff": "2023-10-01", + "resolvedAt": "2026-03-24T11:13:57.532Z", + "baseModelName": "o1-pro" + }, + "o3": { + "provider": "openai", + "description": "OpenAI's advanced reasoning model designed for complex tasks requiring deep reasoning, excelling at software engineering, mathematics, scientific reasoning, and visual reasoning tasks.", + "contextWindow": 200000, + "maxOutputTokens": 100000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-04-16", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:14:04.906Z", + "baseModelName": null }, "o3-2025-04-16": { - provider: "openai", - description: - "OpenAI's advanced reasoning model designed for complex tasks requiring deep reasoning, excelling at software engineering, mathematics, scientific reasoning, and visual reasoning tasks.", - contextWindow: 200000, - maxOutputTokens: 100000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-04-16", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:14:04.906Z", - baseModelName: "o3", + "provider": "openai", + "description": "OpenAI's advanced reasoning model designed for complex tasks requiring deep reasoning, excelling at software engineering, mathematics, scientific reasoning, and visual reasoning tasks.", + "contextWindow": 200000, + "maxOutputTokens": 100000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-04-16", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:14:04.906Z", + "baseModelName": "o3" }, "o3-mini": { - provider: "openai", - description: - "OpenAI's compact reasoning model optimized for STEM tasks, offering strong performance in math, science, and coding at lower cost than o3.", - contextWindow: 200000, - maxOutputTokens: 100000, - capabilities: ["tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-01-31", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-01-01", - resolvedAt: "2026-03-24T11:13:33.788Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's compact reasoning model optimized for STEM tasks, offering strong performance in math, science, and coding at lower cost than o3.", + "contextWindow": 200000, + "maxOutputTokens": 100000, + "capabilities": [ + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-01-31", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-01-01", + "resolvedAt": "2026-03-24T11:13:33.788Z", + "baseModelName": null }, "o3-mini-2025-01-31": { - provider: "openai", - description: - "OpenAI's compact reasoning model optimized for STEM tasks, offering strong performance in math, science, and coding at lower cost than o3.", - contextWindow: 200000, - maxOutputTokens: 100000, - capabilities: ["tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-01-31", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2025-01-01", - resolvedAt: "2026-03-24T11:13:33.788Z", - baseModelName: "o3-mini", + "provider": "openai", + "description": "OpenAI's compact reasoning model optimized for STEM tasks, offering strong performance in math, science, and coding at lower cost than o3.", + "contextWindow": 200000, + "maxOutputTokens": 100000, + "capabilities": [ + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-01-31", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2025-01-01", + "resolvedAt": "2026-03-24T11:13:33.788Z", + "baseModelName": "o3-mini" }, "o3-pro": { - provider: "openai", - description: - "OpenAI's most reliable reasoning model, a version of o3 designed to think longer and provide more consistently accurate answers for challenging math, science, and coding problems.", - contextWindow: 200000, - maxOutputTokens: 100000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-06-10", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: null, - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:14:10.900Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's most reliable reasoning model, a version of o3 designed to think longer and provide more consistently accurate answers for challenging math, science, and coding problems.", + "contextWindow": 200000, + "maxOutputTokens": 100000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-06-10", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": null, + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:14:10.900Z", + "baseModelName": null }, "o3-pro-2025-06-10": { - provider: "openai", - description: - "OpenAI's most reliable reasoning model, a version of o3 designed to think longer and provide more consistently accurate answers for challenging math, science, and coding problems.", - contextWindow: 200000, - maxOutputTokens: 100000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-06-10", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: false, - supportsStreamingToolCalls: false, - deprecationDate: null, - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:14:10.900Z", - baseModelName: "o3-pro", + "provider": "openai", + "description": "OpenAI's most reliable reasoning model, a version of o3 designed to think longer and provide more consistently accurate answers for challenging math, science, and coding problems.", + "contextWindow": 200000, + "maxOutputTokens": 100000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-06-10", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": false, + "supportsStreamingToolCalls": false, + "deprecationDate": null, + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:14:10.900Z", + "baseModelName": "o3-pro" }, "o4-mini": { - provider: "openai", - description: - "OpenAI's small reasoning model optimized for fast, cost-efficient reasoning with strong performance in math, coding, and visual tasks.", - contextWindow: 200000, - maxOutputTokens: 100000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-04-16", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:14:16.050Z", - baseModelName: null, + "provider": "openai", + "description": "OpenAI's small reasoning model optimized for fast, cost-efficient reasoning with strong performance in math, coding, and visual tasks.", + "contextWindow": 200000, + "maxOutputTokens": 100000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-04-16", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:14:16.050Z", + "baseModelName": null }, "o4-mini-2025-04-16": { - provider: "openai", - description: - "OpenAI's small reasoning model optimized for fast, cost-efficient reasoning with strong performance in math, coding, and visual tasks.", - contextWindow: 200000, - maxOutputTokens: 100000, - capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], - releaseDate: "2025-04-16", - isHidden: false, - supportsStructuredOutput: true, - supportsParallelToolCalls: true, - supportsStreamingToolCalls: true, - deprecationDate: null, - knowledgeCutoff: "2024-06-01", - resolvedAt: "2026-03-24T11:14:16.050Z", - baseModelName: "o4-mini", - }, + "provider": "openai", + "description": "OpenAI's small reasoning model optimized for fast, cost-efficient reasoning with strong performance in math, coding, and visual tasks.", + "contextWindow": 200000, + "maxOutputTokens": 100000, + "capabilities": [ + "vision", + "tool_use", + "streaming", + "json_mode", + "extended_thinking" + ], + "releaseDate": "2025-04-16", + "isHidden": false, + "supportsStructuredOutput": true, + "supportsParallelToolCalls": true, + "supportsStreamingToolCalls": true, + "deprecationDate": null, + "knowledgeCutoff": "2024-06-01", + "resolvedAt": "2026-03-24T11:14:16.050Z", + "baseModelName": "o4-mini" + } }; From 0e305e57178869860685623022f9a352e719b1af Mon Sep 17 00:00:00 2001 From: Katia Bulatova Date: Wed, 22 Jul 2026 12:14:18 +0000 Subject: [PATCH 07/14] chore: revert unrelated llm-model-catalog churn --- .../llm-model-catalog/src/defaultPrices.ts | 6169 +++++++++-------- .../llm-model-catalog/src/modelCatalog.ts | 4059 +++++------ 2 files changed, 4927 insertions(+), 5301 deletions(-) diff --git a/internal-packages/llm-model-catalog/src/defaultPrices.ts b/internal-packages/llm-model-catalog/src/defaultPrices.ts index fb347c2bef6..982b6b2ec15 100644 --- a/internal-packages/llm-model-catalog/src/defaultPrices.ts +++ b/internal-packages/llm-model-catalog/src/defaultPrices.ts @@ -6,3091 +6,3106 @@ import type { DefaultModelDefinition } from "./types.js"; export const defaultModelPrices: DefaultModelDefinition[] = [ { - "modelName": "gpt-4o", - "matchPattern": "(?i)^(openai/)?(gpt-4o)$", - "startDate": "2024-05-13T23:15:07.670Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000025, - "input_cached_tokens": 0.00000125, - "input_cache_read": 0.00000125, - "output": 0.00001 - } - } - ] - }, - { - "modelName": "gpt-4o-2024-05-13", - "matchPattern": "(?i)^(openai/)?(gpt-4o-2024-05-13)$", - "startDate": "2024-05-13T23:15:07.670Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000005, - "output": 0.000015 - } - } - ] - }, - { - "modelName": "gpt-4-1106-preview", - "matchPattern": "(?i)^(openai/)?(gpt-4-1106-preview)$", - "startDate": "2024-04-23T10:37:17.092Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00001, - "output": 0.00003 - } - } - ] - }, - { - "modelName": "gpt-4-turbo-vision", - "matchPattern": "(?i)^(openai/)?(gpt-4(-\\d{4})?-vision-preview)$", - "startDate": "2024-01-24T10:19:21.693Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00001, - "output": 0.00003 - } - } - ] - }, - { - "modelName": "gpt-4-32k", - "matchPattern": "(?i)^(openai/)?(gpt-4-32k)$", - "startDate": "2024-01-24T10:19:21.693Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00006, - "output": 0.00012 - } - } - ] - }, - { - "modelName": "gpt-4-32k-0613", - "matchPattern": "(?i)^(openai/)?(gpt-4-32k-0613)$", - "startDate": "2024-01-24T10:19:21.693Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00006, - "output": 0.00012 - } - } - ] - }, - { - "modelName": "gpt-3.5-turbo-1106", - "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-1106)$", - "startDate": "2024-01-24T10:19:21.693Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000001, - "output": 0.000002 - } - } - ] - }, - { - "modelName": "gpt-3.5-turbo-0613", - "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-0613)$", - "startDate": "2024-01-24T10:19:21.693Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000015, - "output": 0.000002 - } - } - ] - }, - { - "modelName": "gpt-4-0613", - "matchPattern": "(?i)^(openai/)?(gpt-4-0613)$", - "startDate": "2024-01-24T10:19:21.693Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00003, - "output": 0.00006 - } - } - ] - }, - { - "modelName": "gpt-3.5-turbo-instruct", - "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-instruct)$", - "startDate": "2024-01-24T10:19:21.693Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000015, - "output": 0.000002 - } - } - ] - }, - { - "modelName": "text-ada-001", - "matchPattern": "(?i)^(text-ada-001)$", - "startDate": "2024-01-24T18:18:50.861Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "total": 0.000004 - } - } - ] - }, - { - "modelName": "text-babbage-001", - "matchPattern": "(?i)^(text-babbage-001)$", - "startDate": "2024-01-24T18:18:50.861Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "total": 5e-7 - } - } - ] - }, - { - "modelName": "text-curie-001", - "matchPattern": "(?i)^(text-curie-001)$", - "startDate": "2024-01-24T18:18:50.861Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "total": 0.00002 - } - } - ] - }, - { - "modelName": "text-davinci-001", - "matchPattern": "(?i)^(text-davinci-001)$", - "startDate": "2024-01-24T18:18:50.861Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "total": 0.00002 - } - } - ] - }, - { - "modelName": "text-davinci-002", - "matchPattern": "(?i)^(text-davinci-002)$", - "startDate": "2024-01-24T18:18:50.861Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "total": 0.00002 - } - } - ] - }, - { - "modelName": "text-davinci-003", - "matchPattern": "(?i)^(text-davinci-003)$", - "startDate": "2024-01-24T18:18:50.861Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "total": 0.00002 - } - } - ] - }, - { - "modelName": "text-embedding-ada-002-v2", - "matchPattern": "(?i)^(text-embedding-ada-002-v2)$", - "startDate": "2024-01-24T18:18:50.861Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "total": 1e-7 - } - } - ] - }, - { - "modelName": "text-embedding-ada-002", - "matchPattern": "(?i)^(text-embedding-ada-002)$", - "startDate": "2024-01-24T18:18:50.861Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "total": 1e-7 - } - } - ] - }, - { - "modelName": "gpt-3.5-turbo-16k-0613", - "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-16k-0613)$", - "startDate": "2024-02-03T17:29:57.350Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000003, - "output": 0.000004 - } - } - ] - }, - { - "modelName": "gpt-3.5-turbo-0301", - "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-0301)$", - "startDate": "2024-01-24T10:19:21.693Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000002, - "output": 0.000002 - } - } - ] - }, - { - "modelName": "gpt-4-32k-0314", - "matchPattern": "(?i)^(openai/)?(gpt-4-32k-0314)$", - "startDate": "2024-01-24T10:19:21.693Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00006, - "output": 0.00012 - } - } - ] - }, - { - "modelName": "gpt-4-0314", - "matchPattern": "(?i)^(openai/)?(gpt-4-0314)$", - "startDate": "2024-01-24T10:19:21.693Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00003, - "output": 0.00006 - } - } - ] - }, - { - "modelName": "gpt-4", - "matchPattern": "(?i)^(openai/)?(gpt-4)$", - "startDate": "2024-01-24T10:19:21.693Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00003, - "output": 0.00006 - } - } - ] - }, - { - "modelName": "claude-instant-1.2", - "matchPattern": "(?i)^(anthropic/)?(claude-instant-1.2)$", - "startDate": "2024-01-30T15:44:13.447Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00000163, - "output": 0.00000551 - } - } - ] - }, - { - "modelName": "claude-2.0", - "matchPattern": "(?i)^(anthropic/)?(claude-2.0)$", - "startDate": "2024-01-30T15:44:13.447Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000008, - "output": 0.000024 - } - } - ] - }, - { - "modelName": "claude-2.1", - "matchPattern": "(?i)^(anthropic/)?(claude-2.1)$", - "startDate": "2024-01-30T15:44:13.447Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000008, - "output": 0.000024 - } - } - ] - }, - { - "modelName": "claude-1.3", - "matchPattern": "(?i)^(anthropic/)?(claude-1.3)$", - "startDate": "2024-01-30T15:44:13.447Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000008, - "output": 0.000024 - } - } - ] - }, - { - "modelName": "claude-1.2", - "matchPattern": "(?i)^(anthropic/)?(claude-1.2)$", - "startDate": "2024-01-30T15:44:13.447Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000008, - "output": 0.000024 - } - } - ] - }, - { - "modelName": "claude-1.1", - "matchPattern": "(?i)^(anthropic/)?(claude-1.1)$", - "startDate": "2024-01-30T15:44:13.447Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000008, - "output": 0.000024 - } - } - ] - }, - { - "modelName": "claude-instant-1", - "matchPattern": "(?i)^(anthropic/)?(claude-instant-1)$", - "startDate": "2024-01-30T15:44:13.447Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00000163, - "output": 0.00000551 - } - } - ] - }, - { - "modelName": "babbage-002", - "matchPattern": "(?i)^(babbage-002)$", - "startDate": "2024-01-26T17:35:21.129Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 4e-7, - "output": 0.0000016 - } - } - ] - }, - { - "modelName": "davinci-002", - "matchPattern": "(?i)^(davinci-002)$", - "startDate": "2024-01-26T17:35:21.129Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000006, - "output": 0.000012 - } - } - ] - }, - { - "modelName": "text-embedding-3-small", - "matchPattern": "(?i)^(text-embedding-3-small)$", - "startDate": "2024-01-26T17:35:21.129Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "total": 2e-8 - } - } - ] - }, - { - "modelName": "text-embedding-3-large", - "matchPattern": "(?i)^(text-embedding-3-large)$", - "startDate": "2024-01-26T17:35:21.129Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "total": 1.3e-7 - } - } - ] - }, - { - "modelName": "gpt-3.5-turbo-0125", - "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-0125)$", - "startDate": "2024-01-26T17:35:21.129Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 5e-7, - "output": 0.0000015 - } - } - ] - }, - { - "modelName": "gpt-3.5-turbo", - "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo)$", - "startDate": "2024-02-13T12:00:37.424Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 5e-7, - "output": 0.0000015 - } - } - ] - }, - { - "modelName": "gpt-4-0125-preview", - "matchPattern": "(?i)^(openai/)?(gpt-4-0125-preview)$", - "startDate": "2024-01-26T17:35:21.129Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00001, - "output": 0.00003 - } - } - ] - }, - { - "modelName": "ft:gpt-3.5-turbo-1106", - "matchPattern": "(?i)^(ft:)(gpt-3.5-turbo-1106:)(.+)(:)(.*)(:)(.+)$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000003, - "output": 0.000006 - } - } - ] - }, - { - "modelName": "ft:gpt-3.5-turbo-0613", - "matchPattern": "(?i)^(ft:)(gpt-3.5-turbo-0613:)(.+)(:)(.*)(:)(.+)$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000012, - "output": 0.000016 - } - } - ] - }, - { - "modelName": "ft:davinci-002", - "matchPattern": "(?i)^(ft:)(davinci-002:)(.+)(:)(.*)(:)(.+)$$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000012, - "output": 0.000012 - } - } - ] - }, - { - "modelName": "ft:babbage-002", - "matchPattern": "(?i)^(ft:)(babbage-002:)(.+)(:)(.*)(:)(.+)$$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000016, - "output": 0.0000016 - } - } - ] - }, - { - "modelName": "chat-bison", - "matchPattern": "(?i)^(chat-bison)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2.5e-7, - "output": 5e-7 - } - } - ] - }, - { - "modelName": "codechat-bison-32k", - "matchPattern": "(?i)^(codechat-bison-32k)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2.5e-7, - "output": 5e-7 - } - } - ] - }, - { - "modelName": "codechat-bison", - "matchPattern": "(?i)^(codechat-bison)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2.5e-7, - "output": 5e-7 - } - } - ] - }, - { - "modelName": "text-bison-32k", - "matchPattern": "(?i)^(text-bison-32k)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2.5e-7, - "output": 5e-7 - } - } - ] - }, - { - "modelName": "chat-bison-32k", - "matchPattern": "(?i)^(chat-bison-32k)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2.5e-7, - "output": 5e-7 - } - } - ] - }, - { - "modelName": "text-unicorn", - "matchPattern": "(?i)^(text-unicorn)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000025, - "output": 0.0000075 - } - } - ] - }, - { - "modelName": "text-bison", - "matchPattern": "(?i)^(text-bison)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2.5e-7, - "output": 5e-7 - } - } - ] - }, - { - "modelName": "textembedding-gecko", - "matchPattern": "(?i)^(textembedding-gecko)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "total": 1e-7 - } - } - ] - }, - { - "modelName": "textembedding-gecko-multilingual", - "matchPattern": "(?i)^(textembedding-gecko-multilingual)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "total": 1e-7 - } - } - ] - }, - { - "modelName": "code-gecko", - "matchPattern": "(?i)^(code-gecko)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2.5e-7, - "output": 5e-7 - } - } - ] - }, - { - "modelName": "code-bison", - "matchPattern": "(?i)^(code-bison)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2.5e-7, - "output": 5e-7 - } - } - ] - }, - { - "modelName": "code-bison-32k", - "matchPattern": "(?i)^(code-bison-32k)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-01-31T13:25:02.141Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2.5e-7, - "output": 5e-7 - } - } - ] - }, - { - "modelName": "gpt-3.5-turbo-16k", - "matchPattern": "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-16k)$", - "startDate": "2024-02-13T12:00:37.424Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 5e-7, - "output": 0.0000015 - } - } - ] - }, - { - "modelName": "gpt-4-turbo-preview", - "matchPattern": "(?i)^(openai/)?(gpt-4-turbo-preview)$", - "startDate": "2024-02-15T21:21:50.947Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00001, - "output": 0.00003 - } - } - ] - }, - { - "modelName": "claude-3-opus-20240229", - "matchPattern": "(?i)^(anthropic/)?(claude-3-opus-20240229|anthropic\\.claude-3-opus-20240229-v1:0|claude-3-opus@20240229)$", - "startDate": "2024-03-07T17:55:38.139Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000015, - "output": 0.000075 - } - } - ] - }, - { - "modelName": "claude-3-sonnet-20240229", - "matchPattern": "(?i)^(anthropic/)?(claude-3-sonnet-20240229|anthropic\\.claude-3-sonnet-20240229-v1:0|claude-3-sonnet@20240229)$", - "startDate": "2024-03-07T17:55:38.139Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000003, - "input_tokens": 0.000003, - "output": 0.000015, - "output_tokens": 0.000015, - "cache_creation_input_tokens": 0.00000375, - "input_cache_creation": 0.00000375, - "input_cache_creation_5m": 0.00000375, - "input_cache_creation_1h": 0.000006, - "cache_read_input_tokens": 3e-7, - "input_cache_read": 3e-7 - } - } - ] - }, - { - "modelName": "claude-3-haiku-20240307", - "matchPattern": "(?i)^(anthropic/)?(claude-3-haiku-20240307|anthropic\\.claude-3-haiku-20240307-v1:0|claude-3-haiku@20240307)$", - "startDate": "2024-03-14T09:41:18.736Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2.5e-7, - "output": 0.00000125 - } - } - ] - }, - { - "modelName": "gemini-1.0-pro-latest", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-1.0-pro-latest)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-04-11T10:27:46.517Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2.5e-7, - "output": 5e-7 - } - } - ] - }, - { - "modelName": "gemini-1.0-pro", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-1.0-pro)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-04-11T10:27:46.517Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 1.25e-7, - "output": 3.75e-7 - } - } - ] - }, - { - "modelName": "gemini-1.0-pro-001", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-1.0-pro-001)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-04-11T10:27:46.517Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 1.25e-7, - "output": 3.75e-7 - } - } - ] - }, - { - "modelName": "gemini-pro", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-pro)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-04-11T10:27:46.517Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 1.25e-7, - "output": 3.75e-7 - } - } - ] - }, - { - "modelName": "gemini-1.5-pro-latest", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-1.5-pro-latest)(@[a-zA-Z0-9]+)?$", - "startDate": "2024-04-11T10:27:46.517Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000025, - "output": 0.0000075 - } - } - ] - }, - { - "modelName": "gpt-4-turbo-2024-04-09", - "matchPattern": "(?i)^(openai/)?(gpt-4-turbo-2024-04-09)$", - "startDate": "2024-04-23T10:37:17.092Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00001, - "output": 0.00003 - } - } - ] - }, - { - "modelName": "gpt-4-turbo", - "matchPattern": "(?i)^(openai/)?(gpt-4-turbo)$", - "startDate": "2024-04-11T21:13:44.989Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00001, - "output": 0.00003 - } - } - ] - }, - { - "modelName": "gpt-4-preview", - "matchPattern": "(?i)^(openai/)?(gpt-4-preview)$", - "startDate": "2024-04-23T10:37:17.092Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00001, - "output": 0.00003 - } - } - ] - }, - { - "modelName": "claude-3-5-sonnet-20240620", - "matchPattern": "(?i)^(anthropic/)?(claude-3-5-sonnet-20240620|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3-5-sonnet-20240620-v1:0|claude-3-5-sonnet@20240620)$", - "startDate": "2024-06-25T11:47:24.475Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000003, - "input_tokens": 0.000003, - "output": 0.000015, - "output_tokens": 0.000015, - "cache_creation_input_tokens": 0.00000375, - "input_cache_creation": 0.00000375, - "input_cache_creation_5m": 0.00000375, - "input_cache_creation_1h": 0.000006, - "cache_read_input_tokens": 3e-7, - "input_cache_read": 3e-7 - } - } - ] - }, - { - "modelName": "gpt-4o-mini", - "matchPattern": "(?i)^(openai/)?(gpt-4o-mini)$", - "startDate": "2024-07-18T17:56:09.591Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 1.5e-7, - "output": 6e-7, - "input_cached_tokens": 7.5e-8, - "input_cache_read": 7.5e-8 - } - } - ] - }, - { - "modelName": "gpt-4o-mini-2024-07-18", - "matchPattern": "(?i)^(openai/)?(gpt-4o-mini-2024-07-18)$", - "startDate": "2024-07-18T17:56:09.591Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 1.5e-7, - "input_cached_tokens": 7.5e-8, - "input_cache_read": 7.5e-8, - "output": 6e-7 - } - } - ] - }, - { - "modelName": "gpt-4o-2024-08-06", - "matchPattern": "(?i)^(openai/)?(gpt-4o-2024-08-06)$", - "startDate": "2024-08-07T11:54:31.298Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000025, - "input_cached_tokens": 0.00000125, - "input_cache_read": 0.00000125, - "output": 0.00001 - } - } - ] - }, - { - "modelName": "o1-preview", - "matchPattern": "(?i)^(openai/)?(o1-preview)$", - "startDate": "2024-09-13T10:01:35.373Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000015, - "input_cached_tokens": 0.0000075, - "input_cache_read": 0.0000075, - "output": 0.00006, - "output_reasoning_tokens": 0.00006, - "output_reasoning": 0.00006 - } - } - ] - }, - { - "modelName": "o1-preview-2024-09-12", - "matchPattern": "(?i)^(openai/)?(o1-preview-2024-09-12)$", - "startDate": "2024-09-13T10:01:35.373Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000015, - "input_cached_tokens": 0.0000075, - "input_cache_read": 0.0000075, - "output": 0.00006, - "output_reasoning_tokens": 0.00006, - "output_reasoning": 0.00006 - } - } - ] - }, - { - "modelName": "o1-mini", - "matchPattern": "(?i)^(openai/)?(o1-mini)$", - "startDate": "2024-09-13T10:01:35.373Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000011, - "input_cached_tokens": 5.5e-7, - "input_cache_read": 5.5e-7, - "output": 0.0000044, - "output_reasoning_tokens": 0.0000044, - "output_reasoning": 0.0000044 - } - } - ] - }, - { - "modelName": "o1-mini-2024-09-12", - "matchPattern": "(?i)^(openai/)?(o1-mini-2024-09-12)$", - "startDate": "2024-09-13T10:01:35.373Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000011, - "input_cached_tokens": 5.5e-7, - "input_cache_read": 5.5e-7, - "output": 0.0000044, - "output_reasoning_tokens": 0.0000044, - "output_reasoning": 0.0000044 - } - } - ] - }, - { - "modelName": "claude-3.5-sonnet-20241022", - "matchPattern": "(?i)^(anthropic/)?(claude-3-5-sonnet-20241022|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3-5-sonnet-20241022-v2:0|claude-3-5-sonnet-V2@20241022)$", - "startDate": "2024-10-22T18:48:01.676Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000003, - "input_tokens": 0.000003, - "output": 0.000015, - "output_tokens": 0.000015, - "cache_creation_input_tokens": 0.00000375, - "input_cache_creation": 0.00000375, - "input_cache_creation_5m": 0.00000375, - "input_cache_creation_1h": 0.000006, - "cache_read_input_tokens": 3e-7, - "input_cache_read": 3e-7 - } - } - ] - }, - { - "modelName": "claude-3.5-sonnet-latest", - "matchPattern": "(?i)^(anthropic/)?(claude-3-5-sonnet-latest)$", - "startDate": "2024-10-22T18:48:01.676Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000003, - "input_tokens": 0.000003, - "output": 0.000015, - "output_tokens": 0.000015, - "cache_creation_input_tokens": 0.00000375, - "input_cache_creation": 0.00000375, - "input_cache_creation_5m": 0.00000375, - "input_cache_creation_1h": 0.000006, - "cache_read_input_tokens": 3e-7, - "input_cache_read": 3e-7 - } - } - ] - }, - { - "modelName": "claude-3-5-haiku-20241022", - "matchPattern": "(?i)^(anthropic/)?(claude-3-5-haiku-20241022|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3-5-haiku-20241022-v1:0|claude-3-5-haiku-V1@20241022)$", - "startDate": "2024-11-05T10:30:50.566Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 8e-7, - "input_tokens": 8e-7, - "output": 0.000004, - "output_tokens": 0.000004, - "cache_creation_input_tokens": 0.000001, - "input_cache_creation": 0.000001, - "input_cache_creation_5m": 0.000001, - "input_cache_creation_1h": 0.0000016, - "cache_read_input_tokens": 8e-8, - "input_cache_read": 8e-8 - } - } - ] - }, - { - "modelName": "claude-3.5-haiku-latest", - "matchPattern": "(?i)^(anthropic/)?(claude-3-5-haiku-latest)$", - "startDate": "2024-11-05T10:30:50.566Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 8e-7, - "input_tokens": 8e-7, - "output": 0.000004, - "output_tokens": 0.000004, - "cache_creation_input_tokens": 0.000001, - "input_cache_creation": 0.000001, - "input_cache_creation_5m": 0.000001, - "input_cache_creation_1h": 0.0000016, - "cache_read_input_tokens": 8e-8, - "input_cache_read": 8e-8 - } - } - ] - }, - { - "modelName": "chatgpt-4o-latest", - "matchPattern": "(?i)^(chatgpt-4o-latest)$", - "startDate": "2024-11-25T12:47:17.504Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000005, - "output": 0.000015 - } - } - ] - }, - { - "modelName": "gpt-4o-2024-11-20", - "matchPattern": "(?i)^(openai/)?(gpt-4o-2024-11-20)$", - "startDate": "2024-12-03T10:06:12.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000025, - "input_cached_tokens": 0.00000125, - "input_cache_read": 0.00000125, - "output": 0.00001 - } - } - ] - }, - { - "modelName": "gpt-4o-audio-preview", - "matchPattern": "(?i)^(openai/)?(gpt-4o-audio-preview)$", - "startDate": "2024-12-03T10:19:56.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input_text_tokens": 0.0000025, - "output_text_tokens": 0.00001, - "input_audio_tokens": 0.0001, - "input_audio": 0.0001, - "output_audio_tokens": 0.0002, - "output_audio": 0.0002 - } - } - ] - }, - { - "modelName": "gpt-4o-audio-preview-2024-10-01", - "matchPattern": "(?i)^(openai/)?(gpt-4o-audio-preview-2024-10-01)$", - "startDate": "2024-12-03T10:19:56.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input_text_tokens": 0.0000025, - "output_text_tokens": 0.00001, - "input_audio_tokens": 0.0001, - "input_audio": 0.0001, - "output_audio_tokens": 0.0002, - "output_audio": 0.0002 - } - } - ] - }, - { - "modelName": "gpt-4o-realtime-preview", - "matchPattern": "(?i)^(openai/)?(gpt-4o-realtime-preview)$", - "startDate": "2024-12-03T10:19:56.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input_text_tokens": 0.000005, - "input_cached_text_tokens": 0.0000025, - "output_text_tokens": 0.00002, - "input_audio_tokens": 0.0001, - "input_audio": 0.0001, - "input_cached_audio_tokens": 0.00002, - "output_audio_tokens": 0.0002, - "output_audio": 0.0002 - } - } - ] - }, - { - "modelName": "gpt-4o-realtime-preview-2024-10-01", - "matchPattern": "(?i)^(openai/)?(gpt-4o-realtime-preview-2024-10-01)$", - "startDate": "2024-12-03T10:19:56.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input_text_tokens": 0.000005, - "input_cached_text_tokens": 0.0000025, - "output_text_tokens": 0.00002, - "input_audio_tokens": 0.0001, - "input_audio": 0.0001, - "input_cached_audio_tokens": 0.00002, - "output_audio_tokens": 0.0002, - "output_audio": 0.0002 - } - } - ] - }, - { - "modelName": "o1", - "matchPattern": "(?i)^(openai/)?(o1)$", - "startDate": "2025-01-17T00:01:35.373Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000015, - "input_cached_tokens": 0.0000075, - "input_cache_read": 0.0000075, - "output": 0.00006, - "output_reasoning_tokens": 0.00006, - "output_reasoning": 0.00006 - } - } - ] - }, - { - "modelName": "o1-2024-12-17", - "matchPattern": "(?i)^(openai/)?(o1-2024-12-17)$", - "startDate": "2025-01-17T00:01:35.373Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000015, - "input_cached_tokens": 0.0000075, - "input_cache_read": 0.0000075, - "output": 0.00006, - "output_reasoning_tokens": 0.00006, - "output_reasoning": 0.00006 - } - } - ] - }, - { - "modelName": "o3-mini", - "matchPattern": "(?i)^(openai/)?(o3-mini)$", - "startDate": "2025-01-31T20:41:35.373Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000011, - "input_cached_tokens": 5.5e-7, - "input_cache_read": 5.5e-7, - "output": 0.0000044, - "output_reasoning_tokens": 0.0000044, - "output_reasoning": 0.0000044 - } - } - ] - }, - { - "modelName": "o3-mini-2025-01-31", - "matchPattern": "(?i)^(openai/)?(o3-mini-2025-01-31)$", - "startDate": "2025-01-31T20:41:35.373Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000011, - "input_cached_tokens": 5.5e-7, - "input_cache_read": 5.5e-7, - "output": 0.0000044, - "output_reasoning_tokens": 0.0000044, - "output_reasoning": 0.0000044 - } - } - ] - }, - { - "modelName": "gemini-2.0-flash-001", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-2.0-flash-001)(@[a-zA-Z0-9]+)?$", - "startDate": "2025-02-06T11:11:35.241Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 1e-7, - "output": 4e-7 - } - } - ] - }, - { - "modelName": "gemini-2.0-flash-lite-preview-02-05", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-2.0-flash-lite-preview-02-05)(@[a-zA-Z0-9]+)?$", - "startDate": "2025-02-06T11:11:35.241Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 7.5e-8, - "output": 3e-7 - } - } - ] - }, - { - "modelName": "claude-3.7-sonnet-20250219", - "matchPattern": "(?i)^(anthropic/)?(claude-3.7-sonnet-20250219|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3.7-sonnet-20250219-v1:0|claude-3-7-sonnet-V1@20250219)$", - "startDate": "2025-02-25T09:35:39.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000003, - "input_tokens": 0.000003, - "output": 0.000015, - "output_tokens": 0.000015, - "cache_creation_input_tokens": 0.00000375, - "input_cache_creation": 0.00000375, - "input_cache_creation_5m": 0.00000375, - "input_cache_creation_1h": 0.000006, - "cache_read_input_tokens": 3e-7, - "input_cache_read": 3e-7 - } - } - ] - }, - { - "modelName": "claude-3.7-sonnet-latest", - "matchPattern": "(?i)^(anthropic/)?(claude-3-7-sonnet-latest)$", - "startDate": "2025-02-25T09:35:39.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000003, - "input_tokens": 0.000003, - "output": 0.000015, - "output_tokens": 0.000015, - "cache_creation_input_tokens": 0.00000375, - "input_cache_creation": 0.00000375, - "input_cache_creation_5m": 0.00000375, - "input_cache_creation_1h": 0.000006, - "cache_read_input_tokens": 3e-7, - "input_cache_read": 3e-7 - } - } - ] - }, - { - "modelName": "gpt-4.5-preview", - "matchPattern": "(?i)^(openai/)?(gpt-4.5-preview)$", - "startDate": "2025-02-27T21:26:54.132Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000075, - "input_cached_tokens": 0.0000375, - "input_cached_text_tokens": 0.0000375, - "input_cache_read": 0.0000375, - "output": 0.00015 - } - } - ] - }, - { - "modelName": "gpt-4.5-preview-2025-02-27", - "matchPattern": "(?i)^(openai/)?(gpt-4.5-preview-2025-02-27)$", - "startDate": "2025-02-27T21:26:54.132Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000075, - "input_cached_tokens": 0.0000375, - "input_cached_text_tokens": 0.0000375, - "input_cache_read": 0.0000375, - "output": 0.00015 - } - } - ] - }, - { - "modelName": "gpt-4.1", - "matchPattern": "(?i)^(openai/)?(gpt-4.1)$", - "startDate": "2025-04-15T10:26:54.132Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000002, - "input_cached_tokens": 5e-7, - "input_cached_text_tokens": 5e-7, - "input_cache_read": 5e-7, - "output": 0.000008 - } - } - ] - }, - { - "modelName": "gpt-4.1-2025-04-14", - "matchPattern": "(?i)^(openai/)?(gpt-4.1-2025-04-14)$", - "startDate": "2025-04-15T10:26:54.132Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000002, - "input_cached_tokens": 5e-7, - "input_cached_text_tokens": 5e-7, - "input_cache_read": 5e-7, - "output": 0.000008 - } - } - ] - }, - { - "modelName": "gpt-4.1-mini-2025-04-14", - "matchPattern": "(?i)^(openai/)?(gpt-4.1-mini-2025-04-14)$", - "startDate": "2025-04-15T10:26:54.132Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 4e-7, - "input_cached_tokens": 1e-7, - "input_cached_text_tokens": 1e-7, - "input_cache_read": 1e-7, - "output": 0.0000016 - } - } - ] - }, - { - "modelName": "gpt-4.1-nano-2025-04-14", - "matchPattern": "(?i)^(openai/)?(gpt-4.1-nano-2025-04-14)$", - "startDate": "2025-04-15T10:26:54.132Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 1e-7, - "input_cached_tokens": 2.5e-8, - "input_cached_text_tokens": 2.5e-8, - "input_cache_read": 2.5e-8, - "output": 4e-7 - } - } - ] - }, - { - "modelName": "o3", - "matchPattern": "(?i)^(openai/)?(o3)$", - "startDate": "2025-04-16T23:26:54.132Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000002, - "input_cached_tokens": 5e-7, - "input_cache_read": 5e-7, - "output": 0.000008, - "output_reasoning_tokens": 0.000008, - "output_reasoning": 0.000008 - } - } - ] - }, - { - "modelName": "o3-2025-04-16", - "matchPattern": "(?i)^(openai/)?(o3-2025-04-16)$", - "startDate": "2025-04-16T23:26:54.132Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000002, - "input_cached_tokens": 5e-7, - "input_cache_read": 5e-7, - "output": 0.000008, - "output_reasoning_tokens": 0.000008, - "output_reasoning": 0.000008 - } - } - ] - }, - { - "modelName": "o4-mini", - "matchPattern": "(?i)^(o4-mini)$", - "startDate": "2025-04-16T23:26:54.132Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000011, - "input_cached_tokens": 2.75e-7, - "input_cache_read": 2.75e-7, - "output": 0.0000044, - "output_reasoning_tokens": 0.0000044, - "output_reasoning": 0.0000044 - } - } - ] - }, - { - "modelName": "o4-mini-2025-04-16", - "matchPattern": "(?i)^(o4-mini-2025-04-16)$", - "startDate": "2025-04-16T23:26:54.132Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000011, - "input_cached_tokens": 2.75e-7, - "input_cache_read": 2.75e-7, - "output": 0.0000044, - "output_reasoning_tokens": 0.0000044, - "output_reasoning": 0.0000044 - } - } - ] - }, - { - "modelName": "gemini-2.0-flash", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-2.0-flash)(@[a-zA-Z0-9]+)?$", - "startDate": "2025-04-22T10:11:35.241Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 1e-7, - "output": 4e-7 - } - } - ] - }, - { - "modelName": "gemini-2.0-flash-lite-preview", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-2.0-flash-lite-preview)(@[a-zA-Z0-9]+)?$", - "startDate": "2025-04-22T10:11:35.241Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 7.5e-8, - "output": 3e-7 - } - } - ] - }, - { - "modelName": "gpt-4.1-nano", - "matchPattern": "(?i)^(openai/)?(gpt-4.1-nano)$", - "startDate": "2025-04-22T10:11:35.241Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 1e-7, - "input_cached_tokens": 2.5e-8, - "input_cached_text_tokens": 2.5e-8, - "input_cache_read": 2.5e-8, - "output": 4e-7 - } - } - ] - }, - { - "modelName": "gpt-4.1-mini", - "matchPattern": "(?i)^(openai/)?(gpt-4.1-mini)$", - "startDate": "2025-04-22T10:11:35.241Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 4e-7, - "input_cached_tokens": 1e-7, - "input_cached_text_tokens": 1e-7, - "input_cache_read": 1e-7, - "output": 0.0000016 - } - } - ] - }, - { - "modelName": "claude-sonnet-4-5-20250929", - "matchPattern": "(?i)^(anthropic/)?(claude-sonnet-4-5(-20250929)?|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-sonnet-4-5(-20250929)?-v1(:0)?|claude-sonnet-4-5-V1(@20250929)?|claude-sonnet-4-5(@20250929)?)$", - "startDate": "2025-09-29T00:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000003, - "input_tokens": 0.000003, - "output": 0.000015, - "output_tokens": 0.000015, - "cache_creation_input_tokens": 0.00000375, - "input_cache_creation": 0.00000375, - "input_cache_creation_5m": 0.00000375, - "input_cache_creation_1h": 0.000006, - "cache_read_input_tokens": 3e-7, - "input_cache_read": 3e-7 - } - }, - { - "name": "Large Context", - "isDefault": false, - "priority": 1, - "conditions": [ + modelName: "gpt-4o", + matchPattern: "(?i)^(openai/)?(gpt-4o)$", + startDate: "2024-05-13T23:15:07.670Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000025, + input_cached_tokens: 0.00000125, + input_cache_read: 0.00000125, + output: 0.00001, + }, + }, + ], + }, + { + modelName: "gpt-4o-2024-05-13", + matchPattern: "(?i)^(openai/)?(gpt-4o-2024-05-13)$", + startDate: "2024-05-13T23:15:07.670Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000005, + output: 0.000015, + }, + }, + ], + }, + { + modelName: "gpt-4-1106-preview", + matchPattern: "(?i)^(openai/)?(gpt-4-1106-preview)$", + startDate: "2024-04-23T10:37:17.092Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00001, + output: 0.00003, + }, + }, + ], + }, + { + modelName: "gpt-4-turbo-vision", + matchPattern: "(?i)^(openai/)?(gpt-4(-\\d{4})?-vision-preview)$", + startDate: "2024-01-24T10:19:21.693Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00001, + output: 0.00003, + }, + }, + ], + }, + { + modelName: "gpt-4-32k", + matchPattern: "(?i)^(openai/)?(gpt-4-32k)$", + startDate: "2024-01-24T10:19:21.693Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00006, + output: 0.00012, + }, + }, + ], + }, + { + modelName: "gpt-4-32k-0613", + matchPattern: "(?i)^(openai/)?(gpt-4-32k-0613)$", + startDate: "2024-01-24T10:19:21.693Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00006, + output: 0.00012, + }, + }, + ], + }, + { + modelName: "gpt-3.5-turbo-1106", + matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-1106)$", + startDate: "2024-01-24T10:19:21.693Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000001, + output: 0.000002, + }, + }, + ], + }, + { + modelName: "gpt-3.5-turbo-0613", + matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-0613)$", + startDate: "2024-01-24T10:19:21.693Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000015, + output: 0.000002, + }, + }, + ], + }, + { + modelName: "gpt-4-0613", + matchPattern: "(?i)^(openai/)?(gpt-4-0613)$", + startDate: "2024-01-24T10:19:21.693Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00003, + output: 0.00006, + }, + }, + ], + }, + { + modelName: "gpt-3.5-turbo-instruct", + matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-instruct)$", + startDate: "2024-01-24T10:19:21.693Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000015, + output: 0.000002, + }, + }, + ], + }, + { + modelName: "text-ada-001", + matchPattern: "(?i)^(text-ada-001)$", + startDate: "2024-01-24T18:18:50.861Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + total: 0.000004, + }, + }, + ], + }, + { + modelName: "text-babbage-001", + matchPattern: "(?i)^(text-babbage-001)$", + startDate: "2024-01-24T18:18:50.861Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + total: 5e-7, + }, + }, + ], + }, + { + modelName: "text-curie-001", + matchPattern: "(?i)^(text-curie-001)$", + startDate: "2024-01-24T18:18:50.861Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + total: 0.00002, + }, + }, + ], + }, + { + modelName: "text-davinci-001", + matchPattern: "(?i)^(text-davinci-001)$", + startDate: "2024-01-24T18:18:50.861Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + total: 0.00002, + }, + }, + ], + }, + { + modelName: "text-davinci-002", + matchPattern: "(?i)^(text-davinci-002)$", + startDate: "2024-01-24T18:18:50.861Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + total: 0.00002, + }, + }, + ], + }, + { + modelName: "text-davinci-003", + matchPattern: "(?i)^(text-davinci-003)$", + startDate: "2024-01-24T18:18:50.861Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + total: 0.00002, + }, + }, + ], + }, + { + modelName: "text-embedding-ada-002-v2", + matchPattern: "(?i)^(text-embedding-ada-002-v2)$", + startDate: "2024-01-24T18:18:50.861Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + total: 1e-7, + }, + }, + ], + }, + { + modelName: "text-embedding-ada-002", + matchPattern: "(?i)^(text-embedding-ada-002)$", + startDate: "2024-01-24T18:18:50.861Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + total: 1e-7, + }, + }, + ], + }, + { + modelName: "gpt-3.5-turbo-16k-0613", + matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-16k-0613)$", + startDate: "2024-02-03T17:29:57.350Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000003, + output: 0.000004, + }, + }, + ], + }, + { + modelName: "gpt-3.5-turbo-0301", + matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-0301)$", + startDate: "2024-01-24T10:19:21.693Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000002, + output: 0.000002, + }, + }, + ], + }, + { + modelName: "gpt-4-32k-0314", + matchPattern: "(?i)^(openai/)?(gpt-4-32k-0314)$", + startDate: "2024-01-24T10:19:21.693Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00006, + output: 0.00012, + }, + }, + ], + }, + { + modelName: "gpt-4-0314", + matchPattern: "(?i)^(openai/)?(gpt-4-0314)$", + startDate: "2024-01-24T10:19:21.693Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00003, + output: 0.00006, + }, + }, + ], + }, + { + modelName: "gpt-4", + matchPattern: "(?i)^(openai/)?(gpt-4)$", + startDate: "2024-01-24T10:19:21.693Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00003, + output: 0.00006, + }, + }, + ], + }, + { + modelName: "claude-instant-1.2", + matchPattern: "(?i)^(anthropic/)?(claude-instant-1.2)$", + startDate: "2024-01-30T15:44:13.447Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00000163, + output: 0.00000551, + }, + }, + ], + }, + { + modelName: "claude-2.0", + matchPattern: "(?i)^(anthropic/)?(claude-2.0)$", + startDate: "2024-01-30T15:44:13.447Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000008, + output: 0.000024, + }, + }, + ], + }, + { + modelName: "claude-2.1", + matchPattern: "(?i)^(anthropic/)?(claude-2.1)$", + startDate: "2024-01-30T15:44:13.447Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000008, + output: 0.000024, + }, + }, + ], + }, + { + modelName: "claude-1.3", + matchPattern: "(?i)^(anthropic/)?(claude-1.3)$", + startDate: "2024-01-30T15:44:13.447Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000008, + output: 0.000024, + }, + }, + ], + }, + { + modelName: "claude-1.2", + matchPattern: "(?i)^(anthropic/)?(claude-1.2)$", + startDate: "2024-01-30T15:44:13.447Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000008, + output: 0.000024, + }, + }, + ], + }, + { + modelName: "claude-1.1", + matchPattern: "(?i)^(anthropic/)?(claude-1.1)$", + startDate: "2024-01-30T15:44:13.447Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000008, + output: 0.000024, + }, + }, + ], + }, + { + modelName: "claude-instant-1", + matchPattern: "(?i)^(anthropic/)?(claude-instant-1)$", + startDate: "2024-01-30T15:44:13.447Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00000163, + output: 0.00000551, + }, + }, + ], + }, + { + modelName: "babbage-002", + matchPattern: "(?i)^(babbage-002)$", + startDate: "2024-01-26T17:35:21.129Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 4e-7, + output: 0.0000016, + }, + }, + ], + }, + { + modelName: "davinci-002", + matchPattern: "(?i)^(davinci-002)$", + startDate: "2024-01-26T17:35:21.129Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000006, + output: 0.000012, + }, + }, + ], + }, + { + modelName: "text-embedding-3-small", + matchPattern: "(?i)^(text-embedding-3-small)$", + startDate: "2024-01-26T17:35:21.129Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + total: 2e-8, + }, + }, + ], + }, + { + modelName: "text-embedding-3-large", + matchPattern: "(?i)^(text-embedding-3-large)$", + startDate: "2024-01-26T17:35:21.129Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + total: 1.3e-7, + }, + }, + ], + }, + { + modelName: "gpt-3.5-turbo-0125", + matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-0125)$", + startDate: "2024-01-26T17:35:21.129Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 5e-7, + output: 0.0000015, + }, + }, + ], + }, + { + modelName: "gpt-3.5-turbo", + matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo)$", + startDate: "2024-02-13T12:00:37.424Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 5e-7, + output: 0.0000015, + }, + }, + ], + }, + { + modelName: "gpt-4-0125-preview", + matchPattern: "(?i)^(openai/)?(gpt-4-0125-preview)$", + startDate: "2024-01-26T17:35:21.129Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00001, + output: 0.00003, + }, + }, + ], + }, + { + modelName: "ft:gpt-3.5-turbo-1106", + matchPattern: "(?i)^(ft:)(gpt-3.5-turbo-1106:)(.+)(:)(.*)(:)(.+)$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000003, + output: 0.000006, + }, + }, + ], + }, + { + modelName: "ft:gpt-3.5-turbo-0613", + matchPattern: "(?i)^(ft:)(gpt-3.5-turbo-0613:)(.+)(:)(.*)(:)(.+)$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000012, + output: 0.000016, + }, + }, + ], + }, + { + modelName: "ft:davinci-002", + matchPattern: "(?i)^(ft:)(davinci-002:)(.+)(:)(.*)(:)(.+)$$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000012, + output: 0.000012, + }, + }, + ], + }, + { + modelName: "ft:babbage-002", + matchPattern: "(?i)^(ft:)(babbage-002:)(.+)(:)(.*)(:)(.+)$$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000016, + output: 0.0000016, + }, + }, + ], + }, + { + modelName: "chat-bison", + matchPattern: "(?i)^(chat-bison)(@[a-zA-Z0-9]+)?$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2.5e-7, + output: 5e-7, + }, + }, + ], + }, + { + modelName: "codechat-bison-32k", + matchPattern: "(?i)^(codechat-bison-32k)(@[a-zA-Z0-9]+)?$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2.5e-7, + output: 5e-7, + }, + }, + ], + }, + { + modelName: "codechat-bison", + matchPattern: "(?i)^(codechat-bison)(@[a-zA-Z0-9]+)?$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2.5e-7, + output: 5e-7, + }, + }, + ], + }, + { + modelName: "text-bison-32k", + matchPattern: "(?i)^(text-bison-32k)(@[a-zA-Z0-9]+)?$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2.5e-7, + output: 5e-7, + }, + }, + ], + }, + { + modelName: "chat-bison-32k", + matchPattern: "(?i)^(chat-bison-32k)(@[a-zA-Z0-9]+)?$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2.5e-7, + output: 5e-7, + }, + }, + ], + }, + { + modelName: "text-unicorn", + matchPattern: "(?i)^(text-unicorn)(@[a-zA-Z0-9]+)?$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000025, + output: 0.0000075, + }, + }, + ], + }, + { + modelName: "text-bison", + matchPattern: "(?i)^(text-bison)(@[a-zA-Z0-9]+)?$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2.5e-7, + output: 5e-7, + }, + }, + ], + }, + { + modelName: "textembedding-gecko", + matchPattern: "(?i)^(textembedding-gecko)(@[a-zA-Z0-9]+)?$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + total: 1e-7, + }, + }, + ], + }, + { + modelName: "textembedding-gecko-multilingual", + matchPattern: "(?i)^(textembedding-gecko-multilingual)(@[a-zA-Z0-9]+)?$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + total: 1e-7, + }, + }, + ], + }, + { + modelName: "code-gecko", + matchPattern: "(?i)^(code-gecko)(@[a-zA-Z0-9]+)?$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2.5e-7, + output: 5e-7, + }, + }, + ], + }, + { + modelName: "code-bison", + matchPattern: "(?i)^(code-bison)(@[a-zA-Z0-9]+)?$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2.5e-7, + output: 5e-7, + }, + }, + ], + }, + { + modelName: "code-bison-32k", + matchPattern: "(?i)^(code-bison-32k)(@[a-zA-Z0-9]+)?$", + startDate: "2024-01-31T13:25:02.141Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2.5e-7, + output: 5e-7, + }, + }, + ], + }, + { + modelName: "gpt-3.5-turbo-16k", + matchPattern: "(?i)^(openai/)?(gpt-)(35|3.5)(-turbo-16k)$", + startDate: "2024-02-13T12:00:37.424Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 5e-7, + output: 0.0000015, + }, + }, + ], + }, + { + modelName: "gpt-4-turbo-preview", + matchPattern: "(?i)^(openai/)?(gpt-4-turbo-preview)$", + startDate: "2024-02-15T21:21:50.947Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00001, + output: 0.00003, + }, + }, + ], + }, + { + modelName: "claude-3-opus-20240229", + matchPattern: + "(?i)^(anthropic/)?(claude-3-opus-20240229|anthropic\\.claude-3-opus-20240229-v1:0|claude-3-opus@20240229)$", + startDate: "2024-03-07T17:55:38.139Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000015, + output: 0.000075, + }, + }, + ], + }, + { + modelName: "claude-3-sonnet-20240229", + matchPattern: + "(?i)^(anthropic/)?(claude-3-sonnet-20240229|anthropic\\.claude-3-sonnet-20240229-v1:0|claude-3-sonnet@20240229)$", + startDate: "2024-03-07T17:55:38.139Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000003, + input_tokens: 0.000003, + output: 0.000015, + output_tokens: 0.000015, + cache_creation_input_tokens: 0.00000375, + input_cache_creation: 0.00000375, + input_cache_creation_5m: 0.00000375, + input_cache_creation_1h: 0.000006, + cache_read_input_tokens: 3e-7, + input_cache_read: 3e-7, + }, + }, + ], + }, + { + modelName: "claude-3-haiku-20240307", + matchPattern: + "(?i)^(anthropic/)?(claude-3-haiku-20240307|anthropic\\.claude-3-haiku-20240307-v1:0|claude-3-haiku@20240307)$", + startDate: "2024-03-14T09:41:18.736Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2.5e-7, + output: 0.00000125, + }, + }, + ], + }, + { + modelName: "gemini-1.0-pro-latest", + matchPattern: "(?i)^(google(ai)?/)?(gemini-1.0-pro-latest)(@[a-zA-Z0-9]+)?$", + startDate: "2024-04-11T10:27:46.517Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2.5e-7, + output: 5e-7, + }, + }, + ], + }, + { + modelName: "gemini-1.0-pro", + matchPattern: "(?i)^(google(ai)?/)?(gemini-1.0-pro)(@[a-zA-Z0-9]+)?$", + startDate: "2024-04-11T10:27:46.517Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 1.25e-7, + output: 3.75e-7, + }, + }, + ], + }, + { + modelName: "gemini-1.0-pro-001", + matchPattern: "(?i)^(google(ai)?/)?(gemini-1.0-pro-001)(@[a-zA-Z0-9]+)?$", + startDate: "2024-04-11T10:27:46.517Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 1.25e-7, + output: 3.75e-7, + }, + }, + ], + }, + { + modelName: "gemini-pro", + matchPattern: "(?i)^(google(ai)?/)?(gemini-pro)(@[a-zA-Z0-9]+)?$", + startDate: "2024-04-11T10:27:46.517Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 1.25e-7, + output: 3.75e-7, + }, + }, + ], + }, + { + modelName: "gemini-1.5-pro-latest", + matchPattern: "(?i)^(google(ai)?/)?(gemini-1.5-pro-latest)(@[a-zA-Z0-9]+)?$", + startDate: "2024-04-11T10:27:46.517Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000025, + output: 0.0000075, + }, + }, + ], + }, + { + modelName: "gpt-4-turbo-2024-04-09", + matchPattern: "(?i)^(openai/)?(gpt-4-turbo-2024-04-09)$", + startDate: "2024-04-23T10:37:17.092Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00001, + output: 0.00003, + }, + }, + ], + }, + { + modelName: "gpt-4-turbo", + matchPattern: "(?i)^(openai/)?(gpt-4-turbo)$", + startDate: "2024-04-11T21:13:44.989Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00001, + output: 0.00003, + }, + }, + ], + }, + { + modelName: "gpt-4-preview", + matchPattern: "(?i)^(openai/)?(gpt-4-preview)$", + startDate: "2024-04-23T10:37:17.092Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00001, + output: 0.00003, + }, + }, + ], + }, + { + modelName: "claude-3-5-sonnet-20240620", + matchPattern: + "(?i)^(anthropic/)?(claude-3-5-sonnet-20240620|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3-5-sonnet-20240620-v1:0|claude-3-5-sonnet@20240620)$", + startDate: "2024-06-25T11:47:24.475Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000003, + input_tokens: 0.000003, + output: 0.000015, + output_tokens: 0.000015, + cache_creation_input_tokens: 0.00000375, + input_cache_creation: 0.00000375, + input_cache_creation_5m: 0.00000375, + input_cache_creation_1h: 0.000006, + cache_read_input_tokens: 3e-7, + input_cache_read: 3e-7, + }, + }, + ], + }, + { + modelName: "gpt-4o-mini", + matchPattern: "(?i)^(openai/)?(gpt-4o-mini)$", + startDate: "2024-07-18T17:56:09.591Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 1.5e-7, + output: 6e-7, + input_cached_tokens: 7.5e-8, + input_cache_read: 7.5e-8, + }, + }, + ], + }, + { + modelName: "gpt-4o-mini-2024-07-18", + matchPattern: "(?i)^(openai/)?(gpt-4o-mini-2024-07-18)$", + startDate: "2024-07-18T17:56:09.591Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 1.5e-7, + input_cached_tokens: 7.5e-8, + input_cache_read: 7.5e-8, + output: 6e-7, + }, + }, + ], + }, + { + modelName: "gpt-4o-2024-08-06", + matchPattern: "(?i)^(openai/)?(gpt-4o-2024-08-06)$", + startDate: "2024-08-07T11:54:31.298Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000025, + input_cached_tokens: 0.00000125, + input_cache_read: 0.00000125, + output: 0.00001, + }, + }, + ], + }, + { + modelName: "o1-preview", + matchPattern: "(?i)^(openai/)?(o1-preview)$", + startDate: "2024-09-13T10:01:35.373Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000015, + input_cached_tokens: 0.0000075, + input_cache_read: 0.0000075, + output: 0.00006, + output_reasoning_tokens: 0.00006, + output_reasoning: 0.00006, + }, + }, + ], + }, + { + modelName: "o1-preview-2024-09-12", + matchPattern: "(?i)^(openai/)?(o1-preview-2024-09-12)$", + startDate: "2024-09-13T10:01:35.373Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000015, + input_cached_tokens: 0.0000075, + input_cache_read: 0.0000075, + output: 0.00006, + output_reasoning_tokens: 0.00006, + output_reasoning: 0.00006, + }, + }, + ], + }, + { + modelName: "o1-mini", + matchPattern: "(?i)^(openai/)?(o1-mini)$", + startDate: "2024-09-13T10:01:35.373Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000011, + input_cached_tokens: 5.5e-7, + input_cache_read: 5.5e-7, + output: 0.0000044, + output_reasoning_tokens: 0.0000044, + output_reasoning: 0.0000044, + }, + }, + ], + }, + { + modelName: "o1-mini-2024-09-12", + matchPattern: "(?i)^(openai/)?(o1-mini-2024-09-12)$", + startDate: "2024-09-13T10:01:35.373Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000011, + input_cached_tokens: 5.5e-7, + input_cache_read: 5.5e-7, + output: 0.0000044, + output_reasoning_tokens: 0.0000044, + output_reasoning: 0.0000044, + }, + }, + ], + }, + { + modelName: "claude-3.5-sonnet-20241022", + matchPattern: + "(?i)^(anthropic/)?(claude-3-5-sonnet-20241022|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3-5-sonnet-20241022-v2:0|claude-3-5-sonnet-V2@20241022)$", + startDate: "2024-10-22T18:48:01.676Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000003, + input_tokens: 0.000003, + output: 0.000015, + output_tokens: 0.000015, + cache_creation_input_tokens: 0.00000375, + input_cache_creation: 0.00000375, + input_cache_creation_5m: 0.00000375, + input_cache_creation_1h: 0.000006, + cache_read_input_tokens: 3e-7, + input_cache_read: 3e-7, + }, + }, + ], + }, + { + modelName: "claude-3.5-sonnet-latest", + matchPattern: "(?i)^(anthropic/)?(claude-3-5-sonnet-latest)$", + startDate: "2024-10-22T18:48:01.676Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000003, + input_tokens: 0.000003, + output: 0.000015, + output_tokens: 0.000015, + cache_creation_input_tokens: 0.00000375, + input_cache_creation: 0.00000375, + input_cache_creation_5m: 0.00000375, + input_cache_creation_1h: 0.000006, + cache_read_input_tokens: 3e-7, + input_cache_read: 3e-7, + }, + }, + ], + }, + { + modelName: "claude-3-5-haiku-20241022", + matchPattern: + "(?i)^(anthropic/)?(claude-3-5-haiku-20241022|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3-5-haiku-20241022-v1:0|claude-3-5-haiku-V1@20241022)$", + startDate: "2024-11-05T10:30:50.566Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 8e-7, + input_tokens: 8e-7, + output: 0.000004, + output_tokens: 0.000004, + cache_creation_input_tokens: 0.000001, + input_cache_creation: 0.000001, + input_cache_creation_5m: 0.000001, + input_cache_creation_1h: 0.0000016, + cache_read_input_tokens: 8e-8, + input_cache_read: 8e-8, + }, + }, + ], + }, + { + modelName: "claude-3.5-haiku-latest", + matchPattern: "(?i)^(anthropic/)?(claude-3-5-haiku-latest)$", + startDate: "2024-11-05T10:30:50.566Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 8e-7, + input_tokens: 8e-7, + output: 0.000004, + output_tokens: 0.000004, + cache_creation_input_tokens: 0.000001, + input_cache_creation: 0.000001, + input_cache_creation_5m: 0.000001, + input_cache_creation_1h: 0.0000016, + cache_read_input_tokens: 8e-8, + input_cache_read: 8e-8, + }, + }, + ], + }, + { + modelName: "chatgpt-4o-latest", + matchPattern: "(?i)^(chatgpt-4o-latest)$", + startDate: "2024-11-25T12:47:17.504Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000005, + output: 0.000015, + }, + }, + ], + }, + { + modelName: "gpt-4o-2024-11-20", + matchPattern: "(?i)^(openai/)?(gpt-4o-2024-11-20)$", + startDate: "2024-12-03T10:06:12.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000025, + input_cached_tokens: 0.00000125, + input_cache_read: 0.00000125, + output: 0.00001, + }, + }, + ], + }, + { + modelName: "gpt-4o-audio-preview", + matchPattern: "(?i)^(openai/)?(gpt-4o-audio-preview)$", + startDate: "2024-12-03T10:19:56.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input_text_tokens: 0.0000025, + output_text_tokens: 0.00001, + input_audio_tokens: 0.0001, + input_audio: 0.0001, + output_audio_tokens: 0.0002, + output_audio: 0.0002, + }, + }, + ], + }, + { + modelName: "gpt-4o-audio-preview-2024-10-01", + matchPattern: "(?i)^(openai/)?(gpt-4o-audio-preview-2024-10-01)$", + startDate: "2024-12-03T10:19:56.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input_text_tokens: 0.0000025, + output_text_tokens: 0.00001, + input_audio_tokens: 0.0001, + input_audio: 0.0001, + output_audio_tokens: 0.0002, + output_audio: 0.0002, + }, + }, + ], + }, + { + modelName: "gpt-4o-realtime-preview", + matchPattern: "(?i)^(openai/)?(gpt-4o-realtime-preview)$", + startDate: "2024-12-03T10:19:56.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input_text_tokens: 0.000005, + input_cached_text_tokens: 0.0000025, + output_text_tokens: 0.00002, + input_audio_tokens: 0.0001, + input_audio: 0.0001, + input_cached_audio_tokens: 0.00002, + output_audio_tokens: 0.0002, + output_audio: 0.0002, + }, + }, + ], + }, + { + modelName: "gpt-4o-realtime-preview-2024-10-01", + matchPattern: "(?i)^(openai/)?(gpt-4o-realtime-preview-2024-10-01)$", + startDate: "2024-12-03T10:19:56.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input_text_tokens: 0.000005, + input_cached_text_tokens: 0.0000025, + output_text_tokens: 0.00002, + input_audio_tokens: 0.0001, + input_audio: 0.0001, + input_cached_audio_tokens: 0.00002, + output_audio_tokens: 0.0002, + output_audio: 0.0002, + }, + }, + ], + }, + { + modelName: "o1", + matchPattern: "(?i)^(openai/)?(o1)$", + startDate: "2025-01-17T00:01:35.373Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000015, + input_cached_tokens: 0.0000075, + input_cache_read: 0.0000075, + output: 0.00006, + output_reasoning_tokens: 0.00006, + output_reasoning: 0.00006, + }, + }, + ], + }, + { + modelName: "o1-2024-12-17", + matchPattern: "(?i)^(openai/)?(o1-2024-12-17)$", + startDate: "2025-01-17T00:01:35.373Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000015, + input_cached_tokens: 0.0000075, + input_cache_read: 0.0000075, + output: 0.00006, + output_reasoning_tokens: 0.00006, + output_reasoning: 0.00006, + }, + }, + ], + }, + { + modelName: "o3-mini", + matchPattern: "(?i)^(openai/)?(o3-mini)$", + startDate: "2025-01-31T20:41:35.373Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000011, + input_cached_tokens: 5.5e-7, + input_cache_read: 5.5e-7, + output: 0.0000044, + output_reasoning_tokens: 0.0000044, + output_reasoning: 0.0000044, + }, + }, + ], + }, + { + modelName: "o3-mini-2025-01-31", + matchPattern: "(?i)^(openai/)?(o3-mini-2025-01-31)$", + startDate: "2025-01-31T20:41:35.373Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000011, + input_cached_tokens: 5.5e-7, + input_cache_read: 5.5e-7, + output: 0.0000044, + output_reasoning_tokens: 0.0000044, + output_reasoning: 0.0000044, + }, + }, + ], + }, + { + modelName: "gemini-2.0-flash-001", + matchPattern: "(?i)^(google(ai)?/)?(gemini-2.0-flash-001)(@[a-zA-Z0-9]+)?$", + startDate: "2025-02-06T11:11:35.241Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 1e-7, + output: 4e-7, + }, + }, + ], + }, + { + modelName: "gemini-2.0-flash-lite-preview-02-05", + matchPattern: "(?i)^(google(ai)?/)?(gemini-2.0-flash-lite-preview-02-05)(@[a-zA-Z0-9]+)?$", + startDate: "2025-02-06T11:11:35.241Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 7.5e-8, + output: 3e-7, + }, + }, + ], + }, + { + modelName: "claude-3.7-sonnet-20250219", + matchPattern: + "(?i)^(anthropic/)?(claude-3.7-sonnet-20250219|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-3.7-sonnet-20250219-v1:0|claude-3-7-sonnet-V1@20250219)$", + startDate: "2025-02-25T09:35:39.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000003, + input_tokens: 0.000003, + output: 0.000015, + output_tokens: 0.000015, + cache_creation_input_tokens: 0.00000375, + input_cache_creation: 0.00000375, + input_cache_creation_5m: 0.00000375, + input_cache_creation_1h: 0.000006, + cache_read_input_tokens: 3e-7, + input_cache_read: 3e-7, + }, + }, + ], + }, + { + modelName: "claude-3.7-sonnet-latest", + matchPattern: "(?i)^(anthropic/)?(claude-3-7-sonnet-latest)$", + startDate: "2025-02-25T09:35:39.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000003, + input_tokens: 0.000003, + output: 0.000015, + output_tokens: 0.000015, + cache_creation_input_tokens: 0.00000375, + input_cache_creation: 0.00000375, + input_cache_creation_5m: 0.00000375, + input_cache_creation_1h: 0.000006, + cache_read_input_tokens: 3e-7, + input_cache_read: 3e-7, + }, + }, + ], + }, + { + modelName: "gpt-4.5-preview", + matchPattern: "(?i)^(openai/)?(gpt-4.5-preview)$", + startDate: "2025-02-27T21:26:54.132Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000075, + input_cached_tokens: 0.0000375, + input_cached_text_tokens: 0.0000375, + input_cache_read: 0.0000375, + output: 0.00015, + }, + }, + ], + }, + { + modelName: "gpt-4.5-preview-2025-02-27", + matchPattern: "(?i)^(openai/)?(gpt-4.5-preview-2025-02-27)$", + startDate: "2025-02-27T21:26:54.132Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000075, + input_cached_tokens: 0.0000375, + input_cached_text_tokens: 0.0000375, + input_cache_read: 0.0000375, + output: 0.00015, + }, + }, + ], + }, + { + modelName: "gpt-4.1", + matchPattern: "(?i)^(openai/)?(gpt-4.1)$", + startDate: "2025-04-15T10:26:54.132Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000002, + input_cached_tokens: 5e-7, + input_cached_text_tokens: 5e-7, + input_cache_read: 5e-7, + output: 0.000008, + }, + }, + ], + }, + { + modelName: "gpt-4.1-2025-04-14", + matchPattern: "(?i)^(openai/)?(gpt-4.1-2025-04-14)$", + startDate: "2025-04-15T10:26:54.132Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000002, + input_cached_tokens: 5e-7, + input_cached_text_tokens: 5e-7, + input_cache_read: 5e-7, + output: 0.000008, + }, + }, + ], + }, + { + modelName: "gpt-4.1-mini-2025-04-14", + matchPattern: "(?i)^(openai/)?(gpt-4.1-mini-2025-04-14)$", + startDate: "2025-04-15T10:26:54.132Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 4e-7, + input_cached_tokens: 1e-7, + input_cached_text_tokens: 1e-7, + input_cache_read: 1e-7, + output: 0.0000016, + }, + }, + ], + }, + { + modelName: "gpt-4.1-nano-2025-04-14", + matchPattern: "(?i)^(openai/)?(gpt-4.1-nano-2025-04-14)$", + startDate: "2025-04-15T10:26:54.132Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 1e-7, + input_cached_tokens: 2.5e-8, + input_cached_text_tokens: 2.5e-8, + input_cache_read: 2.5e-8, + output: 4e-7, + }, + }, + ], + }, + { + modelName: "o3", + matchPattern: "(?i)^(openai/)?(o3)$", + startDate: "2025-04-16T23:26:54.132Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000002, + input_cached_tokens: 5e-7, + input_cache_read: 5e-7, + output: 0.000008, + output_reasoning_tokens: 0.000008, + output_reasoning: 0.000008, + }, + }, + ], + }, + { + modelName: "o3-2025-04-16", + matchPattern: "(?i)^(openai/)?(o3-2025-04-16)$", + startDate: "2025-04-16T23:26:54.132Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000002, + input_cached_tokens: 5e-7, + input_cache_read: 5e-7, + output: 0.000008, + output_reasoning_tokens: 0.000008, + output_reasoning: 0.000008, + }, + }, + ], + }, + { + modelName: "o4-mini", + matchPattern: "(?i)^(o4-mini)$", + startDate: "2025-04-16T23:26:54.132Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000011, + input_cached_tokens: 2.75e-7, + input_cache_read: 2.75e-7, + output: 0.0000044, + output_reasoning_tokens: 0.0000044, + output_reasoning: 0.0000044, + }, + }, + ], + }, + { + modelName: "o4-mini-2025-04-16", + matchPattern: "(?i)^(o4-mini-2025-04-16)$", + startDate: "2025-04-16T23:26:54.132Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000011, + input_cached_tokens: 2.75e-7, + input_cache_read: 2.75e-7, + output: 0.0000044, + output_reasoning_tokens: 0.0000044, + output_reasoning: 0.0000044, + }, + }, + ], + }, + { + modelName: "gemini-2.0-flash", + matchPattern: "(?i)^(google(ai)?/)?(gemini-2.0-flash)(@[a-zA-Z0-9]+)?$", + startDate: "2025-04-22T10:11:35.241Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 1e-7, + output: 4e-7, + }, + }, + ], + }, + { + modelName: "gemini-2.0-flash-lite-preview", + matchPattern: "(?i)^(google(ai)?/)?(gemini-2.0-flash-lite-preview)(@[a-zA-Z0-9]+)?$", + startDate: "2025-04-22T10:11:35.241Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 7.5e-8, + output: 3e-7, + }, + }, + ], + }, + { + modelName: "gpt-4.1-nano", + matchPattern: "(?i)^(openai/)?(gpt-4.1-nano)$", + startDate: "2025-04-22T10:11:35.241Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 1e-7, + input_cached_tokens: 2.5e-8, + input_cached_text_tokens: 2.5e-8, + input_cache_read: 2.5e-8, + output: 4e-7, + }, + }, + ], + }, + { + modelName: "gpt-4.1-mini", + matchPattern: "(?i)^(openai/)?(gpt-4.1-mini)$", + startDate: "2025-04-22T10:11:35.241Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 4e-7, + input_cached_tokens: 1e-7, + input_cached_text_tokens: 1e-7, + input_cache_read: 1e-7, + output: 0.0000016, + }, + }, + ], + }, + { + modelName: "claude-sonnet-4-5-20250929", + matchPattern: + "(?i)^(anthropic/)?(claude-sonnet-4-5(-20250929)?|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-sonnet-4-5(-20250929)?-v1(:0)?|claude-sonnet-4-5-V1(@20250929)?|claude-sonnet-4-5(@20250929)?)$", + startDate: "2025-09-29T00:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000003, + input_tokens: 0.000003, + output: 0.000015, + output_tokens: 0.000015, + cache_creation_input_tokens: 0.00000375, + input_cache_creation: 0.00000375, + input_cache_creation_5m: 0.00000375, + input_cache_creation_1h: 0.000006, + cache_read_input_tokens: 3e-7, + input_cache_read: 3e-7, + }, + }, + { + name: "Large Context", + isDefault: false, + priority: 1, + conditions: [ { - "usageDetailPattern": "input", - "operator": "gt", - "value": 200000 - } + usageDetailPattern: "input", + operator: "gt", + value: 200000, + }, ], - "prices": { - "input": 0.000006, - "input_tokens": 0.000006, - "output": 0.0000225, - "output_tokens": 0.0000225, - "cache_creation_input_tokens": 0.0000075, - "input_cache_creation": 0.0000075, - "input_cache_creation_5m": 0.0000075, - "input_cache_creation_1h": 0.000012, - "cache_read_input_tokens": 6e-7, - "input_cache_read": 6e-7 - } - } - ] - }, - { - "modelName": "claude-sonnet-4-20250514", - "matchPattern": "(?i)^(anthropic/)?(claude-sonnet-4(-20250514)?|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-sonnet-4(-20250514)?-v1(:0)?|claude-sonnet-4-V1(@20250514)?|claude-sonnet-4(@20250514)?)$", - "startDate": "2025-05-22T17:09:02.131Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000003, - "input_tokens": 0.000003, - "output": 0.000015, - "output_tokens": 0.000015, - "cache_creation_input_tokens": 0.00000375, - "input_cache_creation": 0.00000375, - "input_cache_creation_5m": 0.00000375, - "input_cache_creation_1h": 0.000006, - "cache_read_input_tokens": 3e-7, - "input_cache_read": 3e-7 - } - } - ] - }, - { - "modelName": "claude-sonnet-4-latest", - "matchPattern": "(?i)^(anthropic/)?(claude-sonnet-4-latest)$", - "startDate": "2025-05-22T17:09:02.131Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000003, - "input_tokens": 0.000003, - "output": 0.000015, - "output_tokens": 0.000015, - "cache_creation_input_tokens": 0.00000375, - "input_cache_creation": 0.00000375, - "input_cache_creation_5m": 0.00000375, - "input_cache_creation_1h": 0.000006, - "cache_read_input_tokens": 3e-7, - "input_cache_read": 3e-7 - } - } - ] - }, - { - "modelName": "claude-opus-4-20250514", - "matchPattern": "(?i)^(anthropic/)?(claude-opus-4(-20250514)?|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-opus-4(-20250514)?-v1(:0)?|claude-opus-4(@20250514)?)$", - "startDate": "2025-05-22T17:09:02.131Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000015, - "input_tokens": 0.000015, - "output": 0.000075, - "output_tokens": 0.000075, - "cache_creation_input_tokens": 0.00001875, - "input_cache_creation": 0.00001875, - "input_cache_creation_5m": 0.00001875, - "input_cache_creation_1h": 0.00003, - "cache_read_input_tokens": 0.0000015, - "input_cache_read": 0.0000015 - } - } - ] - }, - { - "modelName": "o3-pro", - "matchPattern": "(?i)^(openai/)?(o3-pro)$", - "startDate": "2025-06-10T22:26:54.132Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00002, - "output": 0.00008, - "output_reasoning_tokens": 0.00008, - "output_reasoning": 0.00008 - } - } - ] - }, - { - "modelName": "o3-pro-2025-06-10", - "matchPattern": "(?i)^(openai/)?(o3-pro-2025-06-10)$", - "startDate": "2025-06-10T22:26:54.132Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00002, - "output": 0.00008, - "output_reasoning_tokens": 0.00008, - "output_reasoning": 0.00008 - } - } - ] - }, - { - "modelName": "o1-pro", - "matchPattern": "(?i)^(openai/)?(o1-pro)$", - "startDate": "2025-06-10T22:26:54.132Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00015, - "output": 0.0006, - "output_reasoning_tokens": 0.0006, - "output_reasoning": 0.0006 - } - } - ] - }, - { - "modelName": "o1-pro-2025-03-19", - "matchPattern": "(?i)^(openai/)?(o1-pro-2025-03-19)$", - "startDate": "2025-06-10T22:26:54.132Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00015, - "output": 0.0006, - "output_reasoning_tokens": 0.0006, - "output_reasoning": 0.0006 - } - } - ] - }, - { - "modelName": "gemini-2.5-flash", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-2.5-flash)$", - "startDate": "2025-07-03T13:44:06.964Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 3e-7, - "input_text": 3e-7, - "input_modality_1": 3e-7, - "prompt_token_count": 3e-7, - "promptTokenCount": 3e-7, - "input_cached_tokens": 3e-8, - "cached_content_token_count": 3e-8, - "output": 0.0000025, - "output_text": 0.0000025, - "output_modality_1": 0.0000025, - "candidates_token_count": 0.0000025, - "candidatesTokenCount": 0.0000025, - "thoughtsTokenCount": 0.0000025, - "thoughts_token_count": 0.0000025, - "output_reasoning": 0.0000025, - "input_audio_tokens": 0.000001 - } - } - ] - }, - { - "modelName": "gemini-2.5-flash-lite", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-2.5-flash-lite)$", - "startDate": "2025-07-03T13:44:06.964Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 1e-7, - "input_text": 1e-7, - "input_modality_1": 1e-7, - "prompt_token_count": 1e-7, - "promptTokenCount": 1e-7, - "input_cached_tokens": 2.5e-8, - "cached_content_token_count": 2.5e-8, - "output": 4e-7, - "output_text": 4e-7, - "output_modality_1": 4e-7, - "candidates_token_count": 4e-7, - "candidatesTokenCount": 4e-7, - "thoughtsTokenCount": 4e-7, - "thoughts_token_count": 4e-7, - "output_reasoning": 4e-7, - "input_audio_tokens": 5e-7 - } - } - ] - }, - { - "modelName": "claude-opus-4-1-20250805", - "matchPattern": "(?i)^(anthropic/)?(claude-opus-4-1(-20250805)?|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-opus-4-1(-20250805)?-v1(:0)?|claude-opus-4-1(@20250805)?)$", - "startDate": "2025-08-05T15:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000015, - "input_tokens": 0.000015, - "output": 0.000075, - "output_tokens": 0.000075, - "cache_creation_input_tokens": 0.00001875, - "input_cache_creation": 0.00001875, - "input_cache_creation_5m": 0.00001875, - "input_cache_creation_1h": 0.00003, - "cache_read_input_tokens": 0.0000015, - "input_cache_read": 0.0000015 - } - } - ] - }, - { - "modelName": "gpt-5", - "matchPattern": "(?i)^(openai/)?(gpt-5)$", - "startDate": "2025-08-07T16:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00000125, - "input_cached_tokens": 1.25e-7, - "output": 0.00001, - "input_cache_read": 1.25e-7, - "output_reasoning_tokens": 0.00001, - "output_reasoning": 0.00001 - } - } - ] - }, - { - "modelName": "gpt-5-2025-08-07", - "matchPattern": "(?i)^(openai/)?(gpt-5-2025-08-07)$", - "startDate": "2025-08-11T08:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00000125, - "input_cached_tokens": 1.25e-7, - "output": 0.00001, - "input_cache_read": 1.25e-7, - "output_reasoning_tokens": 0.00001, - "output_reasoning": 0.00001 - } - } - ] - }, - { - "modelName": "gpt-5-mini", - "matchPattern": "(?i)^(openai/)?(gpt-5-mini)$", - "startDate": "2025-08-07T16:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2.5e-7, - "input_cached_tokens": 2.5e-8, - "output": 0.000002, - "input_cache_read": 2.5e-8, - "output_reasoning_tokens": 0.000002, - "output_reasoning": 0.000002 - } - } - ] - }, - { - "modelName": "gpt-5-mini-2025-08-07", - "matchPattern": "(?i)^(openai/)?(gpt-5-mini-2025-08-07)$", - "startDate": "2025-08-11T08:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2.5e-7, - "input_cached_tokens": 2.5e-8, - "output": 0.000002, - "input_cache_read": 2.5e-8, - "output_reasoning_tokens": 0.000002, - "output_reasoning": 0.000002 - } - } - ] - }, - { - "modelName": "gpt-5-nano", - "matchPattern": "(?i)^(openai/)?(gpt-5-nano)$", - "startDate": "2025-08-07T16:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 5e-8, - "input_cached_tokens": 5e-9, - "output": 4e-7, - "input_cache_read": 5e-9, - "output_reasoning_tokens": 4e-7, - "output_reasoning": 4e-7 - } - } - ] - }, - { - "modelName": "gpt-5-nano-2025-08-07", - "matchPattern": "(?i)^(openai/)?(gpt-5-nano-2025-08-07)$", - "startDate": "2025-08-11T08:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 5e-8, - "input_cached_tokens": 5e-9, - "output": 4e-7, - "input_cache_read": 5e-9, - "output_reasoning_tokens": 4e-7, - "output_reasoning": 4e-7 - } - } - ] - }, - { - "modelName": "gpt-5-chat-latest", - "matchPattern": "(?i)^(openai/)?(gpt-5-chat-latest)$", - "startDate": "2025-08-07T16:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00000125, - "input_cached_tokens": 1.25e-7, - "output": 0.00001, - "input_cache_read": 1.25e-7, - "output_reasoning_tokens": 0.00001, - "output_reasoning": 0.00001 - } - } - ] - }, - { - "modelName": "gpt-5-pro", - "matchPattern": "(?i)^(openai/)?(gpt-5-pro)$", - "startDate": "2025-10-07T08:03:54.727Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000015, - "output": 0.00012, - "output_reasoning_tokens": 0.00012, - "output_reasoning": 0.00012 - } - } - ] - }, - { - "modelName": "gpt-5-pro-2025-10-06", - "matchPattern": "(?i)^(openai/)?(gpt-5-pro-2025-10-06)$", - "startDate": "2025-10-07T08:03:54.727Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000015, - "output": 0.00012, - "output_reasoning_tokens": 0.00012, - "output_reasoning": 0.00012 - } - } - ] - }, - { - "modelName": "claude-haiku-4-5-20251001", - "matchPattern": "(?i)^(anthropic/)?(claude-haiku-4-5-20251001|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-haiku-4-5-20251001-v1:0|claude-4-5-haiku@20251001)$", - "startDate": "2025-10-16T08:20:44.558Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000001, - "input_tokens": 0.000001, - "output": 0.000005, - "output_tokens": 0.000005, - "cache_creation_input_tokens": 0.00000125, - "input_cache_creation": 0.00000125, - "input_cache_creation_5m": 0.00000125, - "input_cache_creation_1h": 0.000002, - "cache_read_input_tokens": 1e-7, - "input_cache_read": 1e-7 - } - } - ] - }, - { - "modelName": "gpt-5.1", - "matchPattern": "(?i)^(openai/)?(gpt-5.1)$", - "startDate": "2025-11-14T08:57:23.481Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00000125, - "input_cached_tokens": 1.25e-7, - "output": 0.00001, - "input_cache_read": 1.25e-7, - "output_reasoning_tokens": 0.00001, - "output_reasoning": 0.00001 - } - } - ] - }, - { - "modelName": "gpt-5.1-2025-11-13", - "matchPattern": "(?i)^(openai/)?(gpt-5.1-2025-11-13)$", - "startDate": "2025-11-14T08:57:23.481Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00000125, - "input_cached_tokens": 1.25e-7, - "output": 0.00001, - "input_cache_read": 1.25e-7, - "output_reasoning_tokens": 0.00001, - "output_reasoning": 0.00001 - } - } - ] - }, - { - "modelName": "claude-opus-4-5-20251101", - "matchPattern": "(?i)^(anthropic/)?(claude-opus-4-5(-20251101)?|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-opus-4-5(-20251101)?-v1(:0)?|claude-opus-4-5(@20251101)?)$", - "startDate": "2025-11-24T20:53:27.571Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000005, - "input_tokens": 0.000005, - "output": 0.000025, - "output_tokens": 0.000025, - "cache_creation_input_tokens": 0.00000625, - "input_cache_creation": 0.00000625, - "input_cache_creation_5m": 0.00000625, - "input_cache_creation_1h": 0.00001, - "cache_read_input_tokens": 5e-7, - "input_cache_read": 5e-7 - } - } - ] - }, - { - "modelName": "claude-sonnet-4-6", - "matchPattern": "(?i)^(anthropic\\/)?(claude-sonnet-4-6|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-sonnet-4-6(-v1(:0)?)?|claude-sonnet-4-6)$", - "startDate": "2026-02-18T00:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000003, - "input_tokens": 0.000003, - "output": 0.000015, - "output_tokens": 0.000015, - "cache_creation_input_tokens": 0.00000375, - "input_cache_creation": 0.00000375, - "input_cache_creation_5m": 0.00000375, - "input_cache_creation_1h": 0.000006, - "cache_read_input_tokens": 3e-7, - "input_cache_read": 3e-7 - } - }, - { - "name": "Large Context", - "isDefault": false, - "priority": 1, - "conditions": [ + prices: { + input: 0.000006, + input_tokens: 0.000006, + output: 0.0000225, + output_tokens: 0.0000225, + cache_creation_input_tokens: 0.0000075, + input_cache_creation: 0.0000075, + input_cache_creation_5m: 0.0000075, + input_cache_creation_1h: 0.000012, + cache_read_input_tokens: 6e-7, + input_cache_read: 6e-7, + }, + }, + ], + }, + { + modelName: "claude-sonnet-4-20250514", + matchPattern: + "(?i)^(anthropic/)?(claude-sonnet-4(-20250514)?|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-sonnet-4(-20250514)?-v1(:0)?|claude-sonnet-4-V1(@20250514)?|claude-sonnet-4(@20250514)?)$", + startDate: "2025-05-22T17:09:02.131Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000003, + input_tokens: 0.000003, + output: 0.000015, + output_tokens: 0.000015, + cache_creation_input_tokens: 0.00000375, + input_cache_creation: 0.00000375, + input_cache_creation_5m: 0.00000375, + input_cache_creation_1h: 0.000006, + cache_read_input_tokens: 3e-7, + input_cache_read: 3e-7, + }, + }, + ], + }, + { + modelName: "claude-sonnet-4-latest", + matchPattern: "(?i)^(anthropic/)?(claude-sonnet-4-latest)$", + startDate: "2025-05-22T17:09:02.131Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000003, + input_tokens: 0.000003, + output: 0.000015, + output_tokens: 0.000015, + cache_creation_input_tokens: 0.00000375, + input_cache_creation: 0.00000375, + input_cache_creation_5m: 0.00000375, + input_cache_creation_1h: 0.000006, + cache_read_input_tokens: 3e-7, + input_cache_read: 3e-7, + }, + }, + ], + }, + { + modelName: "claude-opus-4-20250514", + matchPattern: + "(?i)^(anthropic/)?(claude-opus-4(-20250514)?|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-opus-4(-20250514)?-v1(:0)?|claude-opus-4(@20250514)?)$", + startDate: "2025-05-22T17:09:02.131Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000015, + input_tokens: 0.000015, + output: 0.000075, + output_tokens: 0.000075, + cache_creation_input_tokens: 0.00001875, + input_cache_creation: 0.00001875, + input_cache_creation_5m: 0.00001875, + input_cache_creation_1h: 0.00003, + cache_read_input_tokens: 0.0000015, + input_cache_read: 0.0000015, + }, + }, + ], + }, + { + modelName: "o3-pro", + matchPattern: "(?i)^(openai/)?(o3-pro)$", + startDate: "2025-06-10T22:26:54.132Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00002, + output: 0.00008, + output_reasoning_tokens: 0.00008, + output_reasoning: 0.00008, + }, + }, + ], + }, + { + modelName: "o3-pro-2025-06-10", + matchPattern: "(?i)^(openai/)?(o3-pro-2025-06-10)$", + startDate: "2025-06-10T22:26:54.132Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00002, + output: 0.00008, + output_reasoning_tokens: 0.00008, + output_reasoning: 0.00008, + }, + }, + ], + }, + { + modelName: "o1-pro", + matchPattern: "(?i)^(openai/)?(o1-pro)$", + startDate: "2025-06-10T22:26:54.132Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00015, + output: 0.0006, + output_reasoning_tokens: 0.0006, + output_reasoning: 0.0006, + }, + }, + ], + }, + { + modelName: "o1-pro-2025-03-19", + matchPattern: "(?i)^(openai/)?(o1-pro-2025-03-19)$", + startDate: "2025-06-10T22:26:54.132Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00015, + output: 0.0006, + output_reasoning_tokens: 0.0006, + output_reasoning: 0.0006, + }, + }, + ], + }, + { + modelName: "gemini-2.5-flash", + matchPattern: "(?i)^(google(ai)?/)?(gemini-2.5-flash)$", + startDate: "2025-07-03T13:44:06.964Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 3e-7, + input_text: 3e-7, + input_modality_1: 3e-7, + prompt_token_count: 3e-7, + promptTokenCount: 3e-7, + input_cached_tokens: 3e-8, + cached_content_token_count: 3e-8, + output: 0.0000025, + output_text: 0.0000025, + output_modality_1: 0.0000025, + candidates_token_count: 0.0000025, + candidatesTokenCount: 0.0000025, + thoughtsTokenCount: 0.0000025, + thoughts_token_count: 0.0000025, + output_reasoning: 0.0000025, + input_audio_tokens: 0.000001, + }, + }, + ], + }, + { + modelName: "gemini-2.5-flash-lite", + matchPattern: "(?i)^(google(ai)?/)?(gemini-2.5-flash-lite)$", + startDate: "2025-07-03T13:44:06.964Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 1e-7, + input_text: 1e-7, + input_modality_1: 1e-7, + prompt_token_count: 1e-7, + promptTokenCount: 1e-7, + input_cached_tokens: 2.5e-8, + cached_content_token_count: 2.5e-8, + output: 4e-7, + output_text: 4e-7, + output_modality_1: 4e-7, + candidates_token_count: 4e-7, + candidatesTokenCount: 4e-7, + thoughtsTokenCount: 4e-7, + thoughts_token_count: 4e-7, + output_reasoning: 4e-7, + input_audio_tokens: 5e-7, + }, + }, + ], + }, + { + modelName: "claude-opus-4-1-20250805", + matchPattern: + "(?i)^(anthropic/)?(claude-opus-4-1(-20250805)?|(eu\\.|us\\.|apac\\.)?anthropic\\.claude-opus-4-1(-20250805)?-v1(:0)?|claude-opus-4-1(@20250805)?)$", + startDate: "2025-08-05T15:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000015, + input_tokens: 0.000015, + output: 0.000075, + output_tokens: 0.000075, + cache_creation_input_tokens: 0.00001875, + input_cache_creation: 0.00001875, + input_cache_creation_5m: 0.00001875, + input_cache_creation_1h: 0.00003, + cache_read_input_tokens: 0.0000015, + input_cache_read: 0.0000015, + }, + }, + ], + }, + { + modelName: "gpt-5", + matchPattern: "(?i)^(openai/)?(gpt-5)$", + startDate: "2025-08-07T16:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00000125, + input_cached_tokens: 1.25e-7, + output: 0.00001, + input_cache_read: 1.25e-7, + output_reasoning_tokens: 0.00001, + output_reasoning: 0.00001, + }, + }, + ], + }, + { + modelName: "gpt-5-2025-08-07", + matchPattern: "(?i)^(openai/)?(gpt-5-2025-08-07)$", + startDate: "2025-08-11T08:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00000125, + input_cached_tokens: 1.25e-7, + output: 0.00001, + input_cache_read: 1.25e-7, + output_reasoning_tokens: 0.00001, + output_reasoning: 0.00001, + }, + }, + ], + }, + { + modelName: "gpt-5-mini", + matchPattern: "(?i)^(openai/)?(gpt-5-mini)$", + startDate: "2025-08-07T16:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2.5e-7, + input_cached_tokens: 2.5e-8, + output: 0.000002, + input_cache_read: 2.5e-8, + output_reasoning_tokens: 0.000002, + output_reasoning: 0.000002, + }, + }, + ], + }, + { + modelName: "gpt-5-mini-2025-08-07", + matchPattern: "(?i)^(openai/)?(gpt-5-mini-2025-08-07)$", + startDate: "2025-08-11T08:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2.5e-7, + input_cached_tokens: 2.5e-8, + output: 0.000002, + input_cache_read: 2.5e-8, + output_reasoning_tokens: 0.000002, + output_reasoning: 0.000002, + }, + }, + ], + }, + { + modelName: "gpt-5-nano", + matchPattern: "(?i)^(openai/)?(gpt-5-nano)$", + startDate: "2025-08-07T16:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 5e-8, + input_cached_tokens: 5e-9, + output: 4e-7, + input_cache_read: 5e-9, + output_reasoning_tokens: 4e-7, + output_reasoning: 4e-7, + }, + }, + ], + }, + { + modelName: "gpt-5-nano-2025-08-07", + matchPattern: "(?i)^(openai/)?(gpt-5-nano-2025-08-07)$", + startDate: "2025-08-11T08:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 5e-8, + input_cached_tokens: 5e-9, + output: 4e-7, + input_cache_read: 5e-9, + output_reasoning_tokens: 4e-7, + output_reasoning: 4e-7, + }, + }, + ], + }, + { + modelName: "gpt-5-chat-latest", + matchPattern: "(?i)^(openai/)?(gpt-5-chat-latest)$", + startDate: "2025-08-07T16:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00000125, + input_cached_tokens: 1.25e-7, + output: 0.00001, + input_cache_read: 1.25e-7, + output_reasoning_tokens: 0.00001, + output_reasoning: 0.00001, + }, + }, + ], + }, + { + modelName: "gpt-5-pro", + matchPattern: "(?i)^(openai/)?(gpt-5-pro)$", + startDate: "2025-10-07T08:03:54.727Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000015, + output: 0.00012, + output_reasoning_tokens: 0.00012, + output_reasoning: 0.00012, + }, + }, + ], + }, + { + modelName: "gpt-5-pro-2025-10-06", + matchPattern: "(?i)^(openai/)?(gpt-5-pro-2025-10-06)$", + startDate: "2025-10-07T08:03:54.727Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000015, + output: 0.00012, + output_reasoning_tokens: 0.00012, + output_reasoning: 0.00012, + }, + }, + ], + }, + { + modelName: "claude-haiku-4-5-20251001", + matchPattern: + "(?i)^(anthropic/)?(claude-haiku-4-5-20251001|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-haiku-4-5-20251001-v1:0|claude-4-5-haiku@20251001)$", + startDate: "2025-10-16T08:20:44.558Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000001, + input_tokens: 0.000001, + output: 0.000005, + output_tokens: 0.000005, + cache_creation_input_tokens: 0.00000125, + input_cache_creation: 0.00000125, + input_cache_creation_5m: 0.00000125, + input_cache_creation_1h: 0.000002, + cache_read_input_tokens: 1e-7, + input_cache_read: 1e-7, + }, + }, + ], + }, + { + modelName: "gpt-5.1", + matchPattern: "(?i)^(openai/)?(gpt-5.1)$", + startDate: "2025-11-14T08:57:23.481Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00000125, + input_cached_tokens: 1.25e-7, + output: 0.00001, + input_cache_read: 1.25e-7, + output_reasoning_tokens: 0.00001, + output_reasoning: 0.00001, + }, + }, + ], + }, + { + modelName: "gpt-5.1-2025-11-13", + matchPattern: "(?i)^(openai/)?(gpt-5.1-2025-11-13)$", + startDate: "2025-11-14T08:57:23.481Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00000125, + input_cached_tokens: 1.25e-7, + output: 0.00001, + input_cache_read: 1.25e-7, + output_reasoning_tokens: 0.00001, + output_reasoning: 0.00001, + }, + }, + ], + }, + { + modelName: "claude-opus-4-5-20251101", + matchPattern: + "(?i)^(anthropic/)?(claude-opus-4-5(-20251101)?|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-opus-4-5(-20251101)?-v1(:0)?|claude-opus-4-5(@20251101)?)$", + startDate: "2025-11-24T20:53:27.571Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000005, + input_tokens: 0.000005, + output: 0.000025, + output_tokens: 0.000025, + cache_creation_input_tokens: 0.00000625, + input_cache_creation: 0.00000625, + input_cache_creation_5m: 0.00000625, + input_cache_creation_1h: 0.00001, + cache_read_input_tokens: 5e-7, + input_cache_read: 5e-7, + }, + }, + ], + }, + { + modelName: "claude-sonnet-4-6", + matchPattern: + "(?i)^(anthropic\\/)?(claude-sonnet-4-6|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-sonnet-4-6(-v1(:0)?)?|claude-sonnet-4-6)$", + startDate: "2026-02-18T00:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000003, + input_tokens: 0.000003, + output: 0.000015, + output_tokens: 0.000015, + cache_creation_input_tokens: 0.00000375, + input_cache_creation: 0.00000375, + input_cache_creation_5m: 0.00000375, + input_cache_creation_1h: 0.000006, + cache_read_input_tokens: 3e-7, + input_cache_read: 3e-7, + }, + }, + { + name: "Large Context", + isDefault: false, + priority: 1, + conditions: [ { - "usageDetailPattern": "input", - "operator": "gt", - "value": 200000 - } + usageDetailPattern: "input", + operator: "gt", + value: 200000, + }, ], - "prices": { - "input": 0.000006, - "input_tokens": 0.000006, - "output": 0.0000225, - "output_tokens": 0.0000225, - "cache_creation_input_tokens": 0.0000075, - "input_cache_creation": 0.0000075, - "input_cache_creation_5m": 0.0000075, - "input_cache_creation_1h": 0.000012, - "cache_read_input_tokens": 6e-7, - "input_cache_read": 6e-7 - } - } - ] - }, - { - "modelName": "claude-opus-4-6", - "matchPattern": "(?i)^(anthropic/)?(claude-opus-4-6|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-opus-4-6-v1(:0)?|claude-opus-4-6)$", - "startDate": "2026-02-09T00:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000005, - "input_tokens": 0.000005, - "output": 0.000025, - "output_tokens": 0.000025, - "cache_creation_input_tokens": 0.00000625, - "input_cache_creation": 0.00000625, - "input_cache_creation_5m": 0.00000625, - "input_cache_creation_1h": 0.00001, - "cache_read_input_tokens": 5e-7, - "input_cache_read": 5e-7 - } - } - ] - }, - { - "modelName": "gemini-2.5-pro", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-2.5-pro)$", - "startDate": "2025-11-26T13:27:53.545Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00000125, - "input_text": 0.00000125, - "input_modality_1": 0.00000125, - "prompt_token_count": 0.00000125, - "promptTokenCount": 0.00000125, - "input_cached_tokens": 1.25e-7, - "cached_content_token_count": 1.25e-7, - "output": 0.00001, - "output_text": 0.00001, - "output_modality_1": 0.00001, - "candidates_token_count": 0.00001, - "candidatesTokenCount": 0.00001, - "thoughtsTokenCount": 0.00001, - "thoughts_token_count": 0.00001, - "output_reasoning": 0.00001 - } - }, - { - "name": "Large Context", - "isDefault": false, - "priority": 1, - "conditions": [ + prices: { + input: 0.000006, + input_tokens: 0.000006, + output: 0.0000225, + output_tokens: 0.0000225, + cache_creation_input_tokens: 0.0000075, + input_cache_creation: 0.0000075, + input_cache_creation_5m: 0.0000075, + input_cache_creation_1h: 0.000012, + cache_read_input_tokens: 6e-7, + input_cache_read: 6e-7, + }, + }, + ], + }, + { + modelName: "claude-opus-4-6", + matchPattern: + "(?i)^(anthropic/)?(claude-opus-4-6|(eu\\.|us\\.|apac\\.|global\\.)?anthropic\\.claude-opus-4-6-v1(:0)?|claude-opus-4-6)$", + startDate: "2026-02-09T00:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000005, + input_tokens: 0.000005, + output: 0.000025, + output_tokens: 0.000025, + cache_creation_input_tokens: 0.00000625, + input_cache_creation: 0.00000625, + input_cache_creation_5m: 0.00000625, + input_cache_creation_1h: 0.00001, + cache_read_input_tokens: 5e-7, + input_cache_read: 5e-7, + }, + }, + ], + }, + { + modelName: "gemini-2.5-pro", + matchPattern: "(?i)^(google(ai)?/)?(gemini-2.5-pro)$", + startDate: "2025-11-26T13:27:53.545Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00000125, + input_text: 0.00000125, + input_modality_1: 0.00000125, + prompt_token_count: 0.00000125, + promptTokenCount: 0.00000125, + input_cached_tokens: 1.25e-7, + cached_content_token_count: 1.25e-7, + output: 0.00001, + output_text: 0.00001, + output_modality_1: 0.00001, + candidates_token_count: 0.00001, + candidatesTokenCount: 0.00001, + thoughtsTokenCount: 0.00001, + thoughts_token_count: 0.00001, + output_reasoning: 0.00001, + }, + }, + { + name: "Large Context", + isDefault: false, + priority: 1, + conditions: [ { - "usageDetailPattern": "(input|prompt|cached)", - "operator": "gt", - "value": 200000 - } + usageDetailPattern: "(input|prompt|cached)", + operator: "gt", + value: 200000, + }, ], - "prices": { - "input": 0.0000025, - "input_text": 0.0000025, - "input_modality_1": 0.0000025, - "prompt_token_count": 0.0000025, - "promptTokenCount": 0.0000025, - "input_cached_tokens": 2.5e-7, - "cached_content_token_count": 2.5e-7, - "output": 0.000015, - "output_text": 0.000015, - "output_modality_1": 0.000015, - "candidates_token_count": 0.000015, - "candidatesTokenCount": 0.000015, - "thoughtsTokenCount": 0.000015, - "thoughts_token_count": 0.000015, - "output_reasoning": 0.000015 - } - } - ] - }, - { - "modelName": "gemini-3-pro-preview", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-3-pro-preview)$", - "startDate": "2025-11-26T13:27:53.545Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000002, - "input_text": 0.000002, - "input_modality_1": 0.000002, - "prompt_token_count": 0.000002, - "promptTokenCount": 0.000002, - "input_cached_tokens": 2e-7, - "cached_content_token_count": 2e-7, - "output": 0.000012, - "output_text": 0.000012, - "output_modality_1": 0.000012, - "candidates_token_count": 0.000012, - "candidatesTokenCount": 0.000012, - "thoughtsTokenCount": 0.000012, - "thoughts_token_count": 0.000012, - "output_reasoning": 0.000012 - } - }, - { - "name": "Large Context", - "isDefault": false, - "priority": 1, - "conditions": [ + prices: { + input: 0.0000025, + input_text: 0.0000025, + input_modality_1: 0.0000025, + prompt_token_count: 0.0000025, + promptTokenCount: 0.0000025, + input_cached_tokens: 2.5e-7, + cached_content_token_count: 2.5e-7, + output: 0.000015, + output_text: 0.000015, + output_modality_1: 0.000015, + candidates_token_count: 0.000015, + candidatesTokenCount: 0.000015, + thoughtsTokenCount: 0.000015, + thoughts_token_count: 0.000015, + output_reasoning: 0.000015, + }, + }, + ], + }, + { + modelName: "gemini-3-pro-preview", + matchPattern: "(?i)^(google(ai)?/)?(gemini-3-pro-preview)$", + startDate: "2025-11-26T13:27:53.545Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000002, + input_text: 0.000002, + input_modality_1: 0.000002, + prompt_token_count: 0.000002, + promptTokenCount: 0.000002, + input_cached_tokens: 2e-7, + cached_content_token_count: 2e-7, + output: 0.000012, + output_text: 0.000012, + output_modality_1: 0.000012, + candidates_token_count: 0.000012, + candidatesTokenCount: 0.000012, + thoughtsTokenCount: 0.000012, + thoughts_token_count: 0.000012, + output_reasoning: 0.000012, + }, + }, + { + name: "Large Context", + isDefault: false, + priority: 1, + conditions: [ { - "usageDetailPattern": "(input|prompt|cached)", - "operator": "gt", - "value": 200000 - } + usageDetailPattern: "(input|prompt|cached)", + operator: "gt", + value: 200000, + }, ], - "prices": { - "input": 0.000004, - "input_text": 0.000004, - "input_modality_1": 0.000004, - "prompt_token_count": 0.000004, - "promptTokenCount": 0.000004, - "input_cached_tokens": 4e-7, - "cached_content_token_count": 4e-7, - "output": 0.000018, - "output_text": 0.000018, - "output_modality_1": 0.000018, - "candidates_token_count": 0.000018, - "candidatesTokenCount": 0.000018, - "thoughtsTokenCount": 0.000018, - "thoughts_token_count": 0.000018, - "output_reasoning": 0.000018 - } - } - ] - }, - { - "modelName": "gemini-3.1-pro-preview", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-3.1-pro-preview(-customtools)?)$", - "startDate": "2026-02-19T00:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000002, - "input_modality_1": 0.000002, - "input_text": 0.000002, - "prompt_token_count": 0.000002, - "promptTokenCount": 0.000002, - "input_cached_tokens": 2e-7, - "cached_content_token_count": 2e-7, - "output": 0.000012, - "output_text": 0.000012, - "output_modality_1": 0.000012, - "candidates_token_count": 0.000012, - "candidatesTokenCount": 0.000012, - "thoughtsTokenCount": 0.000012, - "thoughts_token_count": 0.000012, - "output_reasoning": 0.000012 - } - }, - { - "name": "Large Context", - "isDefault": false, - "priority": 1, - "conditions": [ + prices: { + input: 0.000004, + input_text: 0.000004, + input_modality_1: 0.000004, + prompt_token_count: 0.000004, + promptTokenCount: 0.000004, + input_cached_tokens: 4e-7, + cached_content_token_count: 4e-7, + output: 0.000018, + output_text: 0.000018, + output_modality_1: 0.000018, + candidates_token_count: 0.000018, + candidatesTokenCount: 0.000018, + thoughtsTokenCount: 0.000018, + thoughts_token_count: 0.000018, + output_reasoning: 0.000018, + }, + }, + ], + }, + { + modelName: "gemini-3.1-pro-preview", + matchPattern: "(?i)^(google(ai)?/)?(gemini-3.1-pro-preview(-customtools)?)$", + startDate: "2026-02-19T00:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000002, + input_modality_1: 0.000002, + input_text: 0.000002, + prompt_token_count: 0.000002, + promptTokenCount: 0.000002, + input_cached_tokens: 2e-7, + cached_content_token_count: 2e-7, + output: 0.000012, + output_text: 0.000012, + output_modality_1: 0.000012, + candidates_token_count: 0.000012, + candidatesTokenCount: 0.000012, + thoughtsTokenCount: 0.000012, + thoughts_token_count: 0.000012, + output_reasoning: 0.000012, + }, + }, + { + name: "Large Context", + isDefault: false, + priority: 1, + conditions: [ { - "usageDetailPattern": "(input|prompt|cached)", - "operator": "gt", - "value": 200000 - } + usageDetailPattern: "(input|prompt|cached)", + operator: "gt", + value: 200000, + }, ], - "prices": { - "input": 0.000004, - "input_modality_1": 0.000004, - "input_text": 0.000004, - "prompt_token_count": 0.000004, - "promptTokenCount": 0.000004, - "input_cached_tokens": 4e-7, - "cached_content_token_count": 4e-7, - "output": 0.000018, - "output_text": 0.000018, - "output_modality_1": 0.000018, - "candidates_token_count": 0.000018, - "candidatesTokenCount": 0.000018, - "thoughtsTokenCount": 0.000018, - "thoughts_token_count": 0.000018, - "output_reasoning": 0.000018 - } - } - ] - }, - { - "modelName": "gpt-5.2", - "matchPattern": "(?i)^(openai/)?(gpt-5.2)$", - "startDate": "2025-12-12T09:00:06.513Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00000175, - "input_cached_tokens": 1.75e-7, - "input_cache_read": 1.75e-7, - "output": 0.000014, - "output_reasoning_tokens": 0.000014, - "output_reasoning": 0.000014 - } - } - ] - }, - { - "modelName": "gpt-5.2-2025-12-11", - "matchPattern": "(?i)^(openai/)?(gpt-5.2-2025-12-11)$", - "startDate": "2025-12-12T09:00:06.513Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00000175, - "input_cached_tokens": 1.75e-7, - "input_cache_read": 1.75e-7, - "output": 0.000014, - "output_reasoning_tokens": 0.000014, - "output_reasoning": 0.000014 - } - } - ] - }, - { - "modelName": "gpt-5.2-pro", - "matchPattern": "(?i)^(openai/)?(gpt-5.2-pro)$", - "startDate": "2025-12-12T09:00:06.513Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000021, - "output": 0.000168, - "output_reasoning_tokens": 0.000168, - "output_reasoning": 0.000168 - } - } - ] - }, - { - "modelName": "gpt-5.2-pro-2025-12-11", - "matchPattern": "(?i)^(openai/)?(gpt-5.2-pro-2025-12-11)$", - "startDate": "2025-12-12T09:00:06.513Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.000021, - "output": 0.000168, - "output_reasoning_tokens": 0.000168, - "output_reasoning": 0.000168 - } - } - ] - }, - { - "modelName": "gpt-5.4", - "matchPattern": "(?i)^(openai/)?(gpt-5.4)$", - "startDate": "2026-03-05T00:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000025, - "input_cached_tokens": 2.5e-7, - "input_cache_read": 2.5e-7, - "output": 0.000015, - "output_reasoning_tokens": 0.000015, - "output_reasoning": 0.000015 - } - } - ] - }, - { - "modelName": "gpt-5.4-pro", - "matchPattern": "(?i)^(openai/)?(gpt-5.4-pro)$", - "startDate": "2026-03-05T00:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00003, - "output": 0.00018, - "output_reasoning_tokens": 0.00018, - "output_reasoning": 0.00018 - } - } - ] - }, - { - "modelName": "gpt-5.4-2026-03-05", - "matchPattern": "(?i)^(openai/)?(gpt-5.4-2026-03-05)$", - "startDate": "2026-03-05T00:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.0000025, - "input_cached_tokens": 2.5e-7, - "input_cache_read": 2.5e-7, - "output": 0.000015, - "output_reasoning_tokens": 0.000015, - "output_reasoning": 0.000015 - } - } - ] - }, - { - "modelName": "gpt-5.4-pro-2026-03-05", - "matchPattern": "(?i)^(openai/)?(gpt-5.4-pro-2026-03-05)$", - "startDate": "2026-03-05T00:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 0.00003, - "output": 0.00018, - "output_reasoning_tokens": 0.00018, - "output_reasoning": 0.00018 - } - } - ] - }, - { - "modelName": "gpt-5.4-mini", - "matchPattern": "(?i)^(openai\\/)?(gpt-5.4-mini)$", - "startDate": "2026-03-18T00:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 7.5e-7, - "input_cached_tokens": 7.5e-8, - "input_cache_read": 7.5e-8, - "output": 0.0000045 - } - } - ] - }, - { - "modelName": "gpt-5.4-mini-2026-03-17", - "matchPattern": "(?i)^(openai\\/)?(gpt-5.4-mini-2026-03-17)$", - "startDate": "2026-03-18T00:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 7.5e-7, - "input_cached_tokens": 7.5e-8, - "input_cache_read": 7.5e-8, - "output": 0.0000045 - } - } - ] - }, - { - "modelName": "gpt-5.4-nano", - "matchPattern": "(?i)^(openai\\/)?(gpt-5.4-nano)$", - "startDate": "2026-03-18T00:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2e-7, - "input_cached_tokens": 2e-8, - "input_cache_read": 2e-8, - "output": 0.00000125 - } - } - ] - }, - { - "modelName": "gpt-5.4-nano-2026-03-17", - "matchPattern": "(?i)^(openai\\/)?(gpt-5.4-nano-2026-03-17)$", - "startDate": "2026-03-18T00:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2e-7, - "input_cached_tokens": 2e-8, - "input_cache_read": 2e-8, - "output": 0.00000125 - } - } - ] - }, - { - "modelName": "gemini-3-flash-preview", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-3-flash-preview)$", - "startDate": "2025-12-21T12:01:42.282Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 5e-7, - "input_text": 5e-7, - "input_modality_1": 5e-7, - "prompt_token_count": 5e-7, - "promptTokenCount": 5e-7, - "input_cached_tokens": 5e-8, - "cached_content_token_count": 5e-8, - "output": 0.000003, - "output_text": 0.000003, - "output_modality_1": 0.000003, - "candidates_token_count": 0.000003, - "candidatesTokenCount": 0.000003, - "thoughtsTokenCount": 0.000003, - "thoughts_token_count": 0.000003, - "output_reasoning": 0.000003 - } - } - ] - }, - { - "modelName": "gemini-3.1-flash-lite-preview", - "matchPattern": "(?i)^(google(ai)?/)?(gemini-3.1-flash-lite-preview)$", - "startDate": "2026-03-03T00:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input": 2.5e-7, - "input_modality_1": 2.5e-7, - "input_text": 2.5e-7, - "prompt_token_count": 2.5e-7, - "promptTokenCount": 2.5e-7, - "input_cached_tokens": 2.5e-8, - "cached_content_token_count": 2.5e-8, - "output": 0.0000015, - "output_text": 0.0000015, - "output_modality_1": 0.0000015, - "candidates_token_count": 0.0000015, - "candidatesTokenCount": 0.0000015, - "thoughtsTokenCount": 0.0000015, - "thoughts_token_count": 0.0000015, - "output_reasoning": 0.0000015, - "input_audio_tokens": 5e-7 - } - } - ] - }, - { - "modelName": "gemini-live-2.5-flash-native-audio", - "matchPattern": "(?i)^(google/)?(gemini-live-2.5-flash-native-audio)$", - "startDate": "2026-03-16T00:00:00.000Z", - "pricingTiers": [ - { - "name": "Standard", - "isDefault": true, - "priority": 0, - "conditions": [], - "prices": { - "input_text": 5e-7, - "input_audio": 0.000003, - "input_image": 0.000003, - "output_text": 0.000002, - "output_audio": 0.000012 - } - } - ] - } + prices: { + input: 0.000004, + input_modality_1: 0.000004, + input_text: 0.000004, + prompt_token_count: 0.000004, + promptTokenCount: 0.000004, + input_cached_tokens: 4e-7, + cached_content_token_count: 4e-7, + output: 0.000018, + output_text: 0.000018, + output_modality_1: 0.000018, + candidates_token_count: 0.000018, + candidatesTokenCount: 0.000018, + thoughtsTokenCount: 0.000018, + thoughts_token_count: 0.000018, + output_reasoning: 0.000018, + }, + }, + ], + }, + { + modelName: "gpt-5.2", + matchPattern: "(?i)^(openai/)?(gpt-5.2)$", + startDate: "2025-12-12T09:00:06.513Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00000175, + input_cached_tokens: 1.75e-7, + input_cache_read: 1.75e-7, + output: 0.000014, + output_reasoning_tokens: 0.000014, + output_reasoning: 0.000014, + }, + }, + ], + }, + { + modelName: "gpt-5.2-2025-12-11", + matchPattern: "(?i)^(openai/)?(gpt-5.2-2025-12-11)$", + startDate: "2025-12-12T09:00:06.513Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00000175, + input_cached_tokens: 1.75e-7, + input_cache_read: 1.75e-7, + output: 0.000014, + output_reasoning_tokens: 0.000014, + output_reasoning: 0.000014, + }, + }, + ], + }, + { + modelName: "gpt-5.2-pro", + matchPattern: "(?i)^(openai/)?(gpt-5.2-pro)$", + startDate: "2025-12-12T09:00:06.513Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000021, + output: 0.000168, + output_reasoning_tokens: 0.000168, + output_reasoning: 0.000168, + }, + }, + ], + }, + { + modelName: "gpt-5.2-pro-2025-12-11", + matchPattern: "(?i)^(openai/)?(gpt-5.2-pro-2025-12-11)$", + startDate: "2025-12-12T09:00:06.513Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.000021, + output: 0.000168, + output_reasoning_tokens: 0.000168, + output_reasoning: 0.000168, + }, + }, + ], + }, + { + modelName: "gpt-5.4", + matchPattern: "(?i)^(openai/)?(gpt-5.4)$", + startDate: "2026-03-05T00:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000025, + input_cached_tokens: 2.5e-7, + input_cache_read: 2.5e-7, + output: 0.000015, + output_reasoning_tokens: 0.000015, + output_reasoning: 0.000015, + }, + }, + ], + }, + { + modelName: "gpt-5.4-pro", + matchPattern: "(?i)^(openai/)?(gpt-5.4-pro)$", + startDate: "2026-03-05T00:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00003, + output: 0.00018, + output_reasoning_tokens: 0.00018, + output_reasoning: 0.00018, + }, + }, + ], + }, + { + modelName: "gpt-5.4-2026-03-05", + matchPattern: "(?i)^(openai/)?(gpt-5.4-2026-03-05)$", + startDate: "2026-03-05T00:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.0000025, + input_cached_tokens: 2.5e-7, + input_cache_read: 2.5e-7, + output: 0.000015, + output_reasoning_tokens: 0.000015, + output_reasoning: 0.000015, + }, + }, + ], + }, + { + modelName: "gpt-5.4-pro-2026-03-05", + matchPattern: "(?i)^(openai/)?(gpt-5.4-pro-2026-03-05)$", + startDate: "2026-03-05T00:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 0.00003, + output: 0.00018, + output_reasoning_tokens: 0.00018, + output_reasoning: 0.00018, + }, + }, + ], + }, + { + modelName: "gpt-5.4-mini", + matchPattern: "(?i)^(openai\\/)?(gpt-5.4-mini)$", + startDate: "2026-03-18T00:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 7.5e-7, + input_cached_tokens: 7.5e-8, + input_cache_read: 7.5e-8, + output: 0.0000045, + }, + }, + ], + }, + { + modelName: "gpt-5.4-mini-2026-03-17", + matchPattern: "(?i)^(openai\\/)?(gpt-5.4-mini-2026-03-17)$", + startDate: "2026-03-18T00:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 7.5e-7, + input_cached_tokens: 7.5e-8, + input_cache_read: 7.5e-8, + output: 0.0000045, + }, + }, + ], + }, + { + modelName: "gpt-5.4-nano", + matchPattern: "(?i)^(openai\\/)?(gpt-5.4-nano)$", + startDate: "2026-03-18T00:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2e-7, + input_cached_tokens: 2e-8, + input_cache_read: 2e-8, + output: 0.00000125, + }, + }, + ], + }, + { + modelName: "gpt-5.4-nano-2026-03-17", + matchPattern: "(?i)^(openai\\/)?(gpt-5.4-nano-2026-03-17)$", + startDate: "2026-03-18T00:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2e-7, + input_cached_tokens: 2e-8, + input_cache_read: 2e-8, + output: 0.00000125, + }, + }, + ], + }, + { + modelName: "gemini-3-flash-preview", + matchPattern: "(?i)^(google(ai)?/)?(gemini-3-flash-preview)$", + startDate: "2025-12-21T12:01:42.282Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 5e-7, + input_text: 5e-7, + input_modality_1: 5e-7, + prompt_token_count: 5e-7, + promptTokenCount: 5e-7, + input_cached_tokens: 5e-8, + cached_content_token_count: 5e-8, + output: 0.000003, + output_text: 0.000003, + output_modality_1: 0.000003, + candidates_token_count: 0.000003, + candidatesTokenCount: 0.000003, + thoughtsTokenCount: 0.000003, + thoughts_token_count: 0.000003, + output_reasoning: 0.000003, + }, + }, + ], + }, + { + modelName: "gemini-3.1-flash-lite-preview", + matchPattern: "(?i)^(google(ai)?/)?(gemini-3.1-flash-lite-preview)$", + startDate: "2026-03-03T00:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input: 2.5e-7, + input_modality_1: 2.5e-7, + input_text: 2.5e-7, + prompt_token_count: 2.5e-7, + promptTokenCount: 2.5e-7, + input_cached_tokens: 2.5e-8, + cached_content_token_count: 2.5e-8, + output: 0.0000015, + output_text: 0.0000015, + output_modality_1: 0.0000015, + candidates_token_count: 0.0000015, + candidatesTokenCount: 0.0000015, + thoughtsTokenCount: 0.0000015, + thoughts_token_count: 0.0000015, + output_reasoning: 0.0000015, + input_audio_tokens: 5e-7, + }, + }, + ], + }, + { + modelName: "gemini-live-2.5-flash-native-audio", + matchPattern: "(?i)^(google/)?(gemini-live-2.5-flash-native-audio)$", + startDate: "2026-03-16T00:00:00.000Z", + pricingTiers: [ + { + name: "Standard", + isDefault: true, + priority: 0, + conditions: [], + prices: { + input_text: 5e-7, + input_audio: 0.000003, + input_image: 0.000003, + output_text: 0.000002, + output_audio: 0.000012, + }, + }, + ], + }, ]; diff --git a/internal-packages/llm-model-catalog/src/modelCatalog.ts b/internal-packages/llm-model-catalog/src/modelCatalog.ts index 71ae921c3e7..d90eb1a992b 100644 --- a/internal-packages/llm-model-catalog/src/modelCatalog.ts +++ b/internal-packages/llm-model-catalog/src/modelCatalog.ts @@ -5,677 +5,564 @@ import type { ModelCatalogEntry } from "./types.js"; export const modelCatalog: Record = { "chatgpt-4o-latest": { - "provider": "openai", - "description": "OpenAI's flagship multimodal model optimized for speed and cost, capable of processing text, images, and audio with strong performance across reasoning, coding, and creative tasks.", - "contextWindow": 128000, - "maxOutputTokens": 16384, - "capabilities": [ + provider: "openai", + description: + "OpenAI's flagship multimodal model optimized for speed and cost, capable of processing text, images, and audio with strong performance across reasoning, coding, and creative tasks.", + contextWindow: 128000, + maxOutputTokens: 16384, + capabilities: [ "vision", "tool_use", "streaming", "json_mode", "audio_input", "audio_output", - "fine_tunable" + "fine_tunable", ], - "releaseDate": "2024-05-13", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T10:55:46.469Z", - "baseModelName": "chatgpt-4o" + releaseDate: "2024-05-13", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T10:55:46.469Z", + baseModelName: "chatgpt-4o", }, "claude-1.1": { - "provider": "anthropic", - "description": "An early-generation Claude model from Anthropic, offering basic conversational and text completion capabilities. It was quickly superseded by Claude 1.2, 1.3, and the Claude 2 family.", - "contextWindow": 9000, - "maxOutputTokens": 8191, - "capabilities": [ - "streaming" - ], - "releaseDate": "2023-03-14", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": null, - "knowledgeCutoff": null, - "resolvedAt": "2026-03-24T10:55:47.906Z", - "baseModelName": null + provider: "anthropic", + description: + "An early-generation Claude model from Anthropic, offering basic conversational and text completion capabilities. It was quickly superseded by Claude 1.2, 1.3, and the Claude 2 family.", + contextWindow: 9000, + maxOutputTokens: 8191, + capabilities: ["streaming"], + releaseDate: "2023-03-14", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: null, + knowledgeCutoff: null, + resolvedAt: "2026-03-24T10:55:47.906Z", + baseModelName: null, }, "claude-1.2": { - "provider": "anthropic", - "description": "An early-generation Anthropic model, part of the original Claude 1.x family. It offered improved performance over Claude 1.0 but was quickly superseded by Claude 1.3 and later model families.", - "contextWindow": 9000, - "maxOutputTokens": 8191, - "capabilities": [ - "streaming" - ], - "releaseDate": null, - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": null, - "knowledgeCutoff": null, - "resolvedAt": "2026-03-24T10:55:46.760Z", - "baseModelName": null + provider: "anthropic", + description: + "An early-generation Anthropic model, part of the original Claude 1.x family. It offered improved performance over Claude 1.0 but was quickly superseded by Claude 1.3 and later model families.", + contextWindow: 9000, + maxOutputTokens: 8191, + capabilities: ["streaming"], + releaseDate: null, + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: null, + knowledgeCutoff: null, + resolvedAt: "2026-03-24T10:55:46.760Z", + baseModelName: null, }, "claude-1.3": { - "provider": "anthropic", - "description": "Early-generation Claude model from Anthropic, offering improved performance over Claude 1.0-1.2 in reasoning and instruction-following tasks.", - "contextWindow": 100000, - "maxOutputTokens": null, - "capabilities": [ - "streaming" - ], - "releaseDate": "2023-03-14", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": null, - "knowledgeCutoff": null, - "resolvedAt": "2026-03-24T10:55:46.227Z", - "baseModelName": null + provider: "anthropic", + description: + "Early-generation Claude model from Anthropic, offering improved performance over Claude 1.0-1.2 in reasoning and instruction-following tasks.", + contextWindow: 100000, + maxOutputTokens: null, + capabilities: ["streaming"], + releaseDate: "2023-03-14", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: null, + knowledgeCutoff: null, + resolvedAt: "2026-03-24T10:55:46.227Z", + baseModelName: null, }, "claude-2.0": { - "provider": "anthropic", - "description": "Anthropic's second-generation large language model, offering improved performance over Claude 1.x with longer context support. Succeeded by Claude 2.1 and later the Claude 3 family.", - "contextWindow": 100000, - "maxOutputTokens": 4096, - "capabilities": [ - "streaming" - ], - "releaseDate": "2023-07-11", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": null, - "knowledgeCutoff": "2023-02-01", - "resolvedAt": "2026-03-24T10:55:45.922Z", - "baseModelName": null + provider: "anthropic", + description: + "Anthropic's second-generation large language model, offering improved performance over Claude 1.x with longer context support. Succeeded by Claude 2.1 and later the Claude 3 family.", + contextWindow: 100000, + maxOutputTokens: 4096, + capabilities: ["streaming"], + releaseDate: "2023-07-11", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: null, + knowledgeCutoff: "2023-02-01", + resolvedAt: "2026-03-24T10:55:45.922Z", + baseModelName: null, }, "claude-2.1": { - "provider": "anthropic", - "description": "Anthropic's Claude 2.1 model featuring a 200K context window, reduced hallucination rates compared to Claude 2.0, and improved accuracy on long document comprehension.", - "contextWindow": 200000, - "maxOutputTokens": 4096, - "capabilities": [ - "streaming", - "tool_use" - ], - "releaseDate": "2023-11-21", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": null, - "knowledgeCutoff": "2023-01-01", - "resolvedAt": "2026-03-24T10:56:22.743Z", - "baseModelName": null + provider: "anthropic", + description: + "Anthropic's Claude 2.1 model featuring a 200K context window, reduced hallucination rates compared to Claude 2.0, and improved accuracy on long document comprehension.", + contextWindow: 200000, + maxOutputTokens: 4096, + capabilities: ["streaming", "tool_use"], + releaseDate: "2023-11-21", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: null, + knowledgeCutoff: "2023-01-01", + resolvedAt: "2026-03-24T10:56:22.743Z", + baseModelName: null, }, "claude-3-5-haiku-20241022": { - "provider": "anthropic", - "description": "Anthropic's fastest and most cost-effective model in the Claude 3.5 family, optimized for speed and efficiency while maintaining strong performance across common tasks.", - "contextWindow": 200000, - "maxOutputTokens": 8192, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-10-22", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-07-01", - "resolvedAt": "2026-03-24T10:56:25.724Z", - "baseModelName": "claude-3-5-haiku" + provider: "anthropic", + description: + "Anthropic's fastest and most cost-effective model in the Claude 3.5 family, optimized for speed and efficiency while maintaining strong performance across common tasks.", + contextWindow: 200000, + maxOutputTokens: 8192, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2024-10-22", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-07-01", + resolvedAt: "2026-03-24T10:56:25.724Z", + baseModelName: "claude-3-5-haiku", }, "claude-3-5-sonnet-20240620": { - "provider": "anthropic", - "description": "Anthropic's Claude 3.5 Sonnet is a mid-tier model balancing intelligence and speed, excelling at coding, analysis, and vision tasks while being faster and cheaper than Opus.", - "contextWindow": 200000, - "maxOutputTokens": 8192, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-06-20", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-04-01", - "resolvedAt": "2026-03-24T10:56:35.401Z", - "baseModelName": "claude-3-5-sonnet" + provider: "anthropic", + description: + "Anthropic's Claude 3.5 Sonnet is a mid-tier model balancing intelligence and speed, excelling at coding, analysis, and vision tasks while being faster and cheaper than Opus.", + contextWindow: 200000, + maxOutputTokens: 8192, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2024-06-20", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-04-01", + resolvedAt: "2026-03-24T10:56:35.401Z", + baseModelName: "claude-3-5-sonnet", }, "claude-3-haiku-20240307": { - "provider": "anthropic", - "description": "Anthropic's fastest and most compact Claude 3 model, optimized for speed and cost-efficiency while maintaining strong performance on everyday tasks.", - "contextWindow": 200000, - "maxOutputTokens": 4096, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-03-13", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-08-01", - "resolvedAt": "2026-03-24T10:56:25.288Z", - "baseModelName": "claude-3-haiku" + provider: "anthropic", + description: + "Anthropic's fastest and most compact Claude 3 model, optimized for speed and cost-efficiency while maintaining strong performance on everyday tasks.", + contextWindow: 200000, + maxOutputTokens: 4096, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2024-03-13", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-08-01", + resolvedAt: "2026-03-24T10:56:25.288Z", + baseModelName: "claude-3-haiku", }, "claude-3-opus-20240229": { - "provider": "anthropic", - "description": "Anthropic's most capable model in the Claude 3 family, excelling at complex analysis, nuanced content generation, and advanced reasoning tasks.", - "contextWindow": 200000, - "maxOutputTokens": 4096, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-03-04", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-08-01", - "resolvedAt": "2026-03-24T10:56:26.008Z", - "baseModelName": "claude-3-opus" + provider: "anthropic", + description: + "Anthropic's most capable model in the Claude 3 family, excelling at complex analysis, nuanced content generation, and advanced reasoning tasks.", + contextWindow: 200000, + maxOutputTokens: 4096, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2024-03-04", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-08-01", + resolvedAt: "2026-03-24T10:56:26.008Z", + baseModelName: "claude-3-opus", }, "claude-3-sonnet-20240229": { - "provider": "anthropic", - "description": "Mid-tier model in Anthropic's Claude 3 family, balancing performance and speed for a wide range of tasks including analysis, coding, and content generation.", - "contextWindow": 200000, - "maxOutputTokens": 4096, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-03-04", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-02-01", - "resolvedAt": "2026-03-24T10:56:59.532Z", - "baseModelName": "claude-3-sonnet" + provider: "anthropic", + description: + "Mid-tier model in Anthropic's Claude 3 family, balancing performance and speed for a wide range of tasks including analysis, coding, and content generation.", + contextWindow: 200000, + maxOutputTokens: 4096, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2024-03-04", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-02-01", + resolvedAt: "2026-03-24T10:56:59.532Z", + baseModelName: "claude-3-sonnet", }, "claude-3.5-haiku-latest": { - "provider": "anthropic", - "description": "Anthropic's fastest and most cost-effective model in the Claude 3.5 family, optimized for speed and efficiency while maintaining strong performance across a wide range of tasks.", - "contextWindow": 200000, - "maxOutputTokens": 8192, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-10-29", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-07-01", - "resolvedAt": "2026-03-24T10:57:04.392Z", - "baseModelName": "claude-3.5-haiku" + provider: "anthropic", + description: + "Anthropic's fastest and most cost-effective model in the Claude 3.5 family, optimized for speed and efficiency while maintaining strong performance across a wide range of tasks.", + contextWindow: 200000, + maxOutputTokens: 8192, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2024-10-29", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-07-01", + resolvedAt: "2026-03-24T10:57:04.392Z", + baseModelName: "claude-3.5-haiku", }, "claude-3.5-sonnet-20241022": { - "provider": "anthropic", - "description": "Anthropic's mid-tier model offering strong reasoning, coding, and analysis capabilities at a balance of speed and intelligence, positioned between Haiku and Opus in the Claude 3.5 family.", - "contextWindow": 200000, - "maxOutputTokens": 8192, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-06-20", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-04-01", - "resolvedAt": "2026-03-24T10:57:13.346Z", - "baseModelName": "claude-3.5-sonnet" + provider: "anthropic", + description: + "Anthropic's mid-tier model offering strong reasoning, coding, and analysis capabilities at a balance of speed and intelligence, positioned between Haiku and Opus in the Claude 3.5 family.", + contextWindow: 200000, + maxOutputTokens: 8192, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2024-06-20", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-04-01", + resolvedAt: "2026-03-24T10:57:13.346Z", + baseModelName: "claude-3.5-sonnet", }, "claude-3.5-sonnet-latest": { - "provider": "anthropic", - "description": "Anthropic's mid-tier model offering strong reasoning, coding, and analysis capabilities at a balance of speed and intelligence, positioned between Haiku and Opus in the Claude 3.5 family.", - "contextWindow": 200000, - "maxOutputTokens": 8192, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-06-20", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-04-01", - "resolvedAt": "2026-03-24T10:57:13.346Z", - "baseModelName": "claude-3.5-sonnet" + provider: "anthropic", + description: + "Anthropic's mid-tier model offering strong reasoning, coding, and analysis capabilities at a balance of speed and intelligence, positioned between Haiku and Opus in the Claude 3.5 family.", + contextWindow: 200000, + maxOutputTokens: 8192, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2024-06-20", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-04-01", + resolvedAt: "2026-03-24T10:57:13.346Z", + baseModelName: "claude-3.5-sonnet", }, "claude-3.7-sonnet-20250219": { - "provider": "anthropic", - "description": "Anthropic's Claude 3.7 Sonnet is a hybrid reasoning model that introduced extended thinking capabilities, offering strong performance on coding, math, and complex reasoning tasks.", - "contextWindow": 200000, - "maxOutputTokens": 16384, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-02-24", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-04-01", - "resolvedAt": "2026-03-24T10:57:12.967Z", - "baseModelName": "claude-3.7-sonnet" + provider: "anthropic", + description: + "Anthropic's Claude 3.7 Sonnet is a hybrid reasoning model that introduced extended thinking capabilities, offering strong performance on coding, math, and complex reasoning tasks.", + contextWindow: 200000, + maxOutputTokens: 16384, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-02-24", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-04-01", + resolvedAt: "2026-03-24T10:57:12.967Z", + baseModelName: "claude-3.7-sonnet", }, "claude-3.7-sonnet-latest": { - "provider": "anthropic", - "description": "Anthropic's Claude 3.7 Sonnet is a hybrid reasoning model that introduced extended thinking capabilities, offering strong performance on coding, math, and complex reasoning tasks.", - "contextWindow": 200000, - "maxOutputTokens": 16384, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-02-24", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-04-01", - "resolvedAt": "2026-03-24T10:57:12.967Z", - "baseModelName": "claude-3.7-sonnet" + provider: "anthropic", + description: + "Anthropic's Claude 3.7 Sonnet is a hybrid reasoning model that introduced extended thinking capabilities, offering strong performance on coding, math, and complex reasoning tasks.", + contextWindow: 200000, + maxOutputTokens: 16384, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-02-24", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-04-01", + resolvedAt: "2026-03-24T10:57:12.967Z", + baseModelName: "claude-3.7-sonnet", }, "claude-haiku-4-5-20251001": { - "provider": "anthropic", - "description": "Anthropic's fastest model with near-frontier intelligence, optimized for speed and cost efficiency while supporting extended thinking and vision.", - "contextWindow": 200000, - "maxOutputTokens": 64000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-10-01", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-07-01", - "resolvedAt": "2026-03-24T10:57:29.685Z", - "baseModelName": "claude-haiku-4-5" + provider: "anthropic", + description: + "Anthropic's fastest model with near-frontier intelligence, optimized for speed and cost efficiency while supporting extended thinking and vision.", + contextWindow: 200000, + maxOutputTokens: 64000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-10-01", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-07-01", + resolvedAt: "2026-03-24T10:57:29.685Z", + baseModelName: "claude-haiku-4-5", }, "claude-instant-1": { - "provider": "anthropic", - "description": "Anthropic's fast and cost-effective model optimized for speed and efficiency, positioned as a lighter alternative to Claude 1.x for tasks requiring lower latency.", - "contextWindow": 100000, - "maxOutputTokens": 8191, - "capabilities": [ - "streaming" - ], - "releaseDate": "2023-03-14", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2025-01-06", - "knowledgeCutoff": "2023-01-01", - "resolvedAt": "2026-03-24T10:57:36.888Z", - "baseModelName": null + provider: "anthropic", + description: + "Anthropic's fast and cost-effective model optimized for speed and efficiency, positioned as a lighter alternative to Claude 1.x for tasks requiring lower latency.", + contextWindow: 100000, + maxOutputTokens: 8191, + capabilities: ["streaming"], + releaseDate: "2023-03-14", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2025-01-06", + knowledgeCutoff: "2023-01-01", + resolvedAt: "2026-03-24T10:57:36.888Z", + baseModelName: null, }, "claude-instant-1.2": { - "provider": "anthropic", - "description": "Anthropic's fast and cost-effective model, optimized for speed and efficiency while maintaining strong performance on conversational and text generation tasks.", - "contextWindow": 100000, - "maxOutputTokens": 8191, - "capabilities": [ - "streaming" - ], - "releaseDate": "2023-08-09", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": null, - "knowledgeCutoff": "2023-01-01", - "resolvedAt": "2026-03-24T10:57:41.865Z", - "baseModelName": null + provider: "anthropic", + description: + "Anthropic's fast and cost-effective model, optimized for speed and efficiency while maintaining strong performance on conversational and text generation tasks.", + contextWindow: 100000, + maxOutputTokens: 8191, + capabilities: ["streaming"], + releaseDate: "2023-08-09", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: null, + knowledgeCutoff: "2023-01-01", + resolvedAt: "2026-03-24T10:57:41.865Z", + baseModelName: null, }, "claude-opus-4-1-20250805": { - "provider": "anthropic", - "description": "Anthropic's hybrid reasoning model with strong software engineering and agentic capabilities, scoring 74.5% on SWE-bench Verified. Supports both rapid responses and step-by-step extended thinking.", - "contextWindow": 200000, - "maxOutputTokens": 32000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-08-05", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-03-01", - "resolvedAt": "2026-03-24T10:58:36.876Z", - "baseModelName": "claude-opus-4-1" + provider: "anthropic", + description: + "Anthropic's hybrid reasoning model with strong software engineering and agentic capabilities, scoring 74.5% on SWE-bench Verified. Supports both rapid responses and step-by-step extended thinking.", + contextWindow: 200000, + maxOutputTokens: 32000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-08-05", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-03-01", + resolvedAt: "2026-03-24T10:58:36.876Z", + baseModelName: "claude-opus-4-1", }, "claude-opus-4-20250514": { - "provider": "anthropic", - "description": "Anthropic's flagship model from the Claude 4 family, excelling at complex coding tasks, long-running agent workflows, and deep reasoning with extended thinking support.", - "contextWindow": 200000, - "maxOutputTokens": 32000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-05-14", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-03-01", - "resolvedAt": "2026-03-24T10:58:47.518Z", - "baseModelName": "claude-opus-4" + provider: "anthropic", + description: + "Anthropic's flagship model from the Claude 4 family, excelling at complex coding tasks, long-running agent workflows, and deep reasoning with extended thinking support.", + contextWindow: 200000, + maxOutputTokens: 32000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-05-14", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-03-01", + resolvedAt: "2026-03-24T10:58:47.518Z", + baseModelName: "claude-opus-4", }, "claude-opus-4-5-20251101": { - "provider": "anthropic", - "description": "Anthropic's flagship intelligence model released in November 2025, excelling at complex reasoning, vision, and extended thinking with the best performance in Anthropic's lineup before Opus 4.6.", - "contextWindow": 200000, - "maxOutputTokens": 64000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-11-01", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-03-01", - "resolvedAt": "2026-03-24T10:58:48.961Z", - "baseModelName": "claude-opus-4-5" + provider: "anthropic", + description: + "Anthropic's flagship intelligence model released in November 2025, excelling at complex reasoning, vision, and extended thinking with the best performance in Anthropic's lineup before Opus 4.6.", + contextWindow: 200000, + maxOutputTokens: 64000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-11-01", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-03-01", + resolvedAt: "2026-03-24T10:58:48.961Z", + baseModelName: "claude-opus-4-5", }, "claude-opus-4-6": { - "provider": "anthropic", - "description": "Anthropic's most intelligent model, optimized for building agents and coding with exceptional reasoning capabilities and extended agentic task horizons.", - "contextWindow": 1000000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2026-02-05", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-05-01", - "resolvedAt": "2026-03-24T10:58:42.061Z", - "baseModelName": null + provider: "anthropic", + description: + "Anthropic's most intelligent model, optimized for building agents and coding with exceptional reasoning capabilities and extended agentic task horizons.", + contextWindow: 1000000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2026-02-05", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-05-01", + resolvedAt: "2026-03-24T10:58:42.061Z", + baseModelName: null, }, "claude-sonnet-4-20250514": { - "provider": "anthropic", - "description": "Anthropic's balanced Claude 4 model offering strong coding, reasoning, and multilingual performance at moderate cost. Now a legacy model superseded by Claude Sonnet 4.5 and 4.6.", - "contextWindow": 200000, - "maxOutputTokens": 64000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-05-14", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-03-01", - "resolvedAt": "2026-03-24T10:58:39.601Z", - "baseModelName": "claude-sonnet-4" + provider: "anthropic", + description: + "Anthropic's balanced Claude 4 model offering strong coding, reasoning, and multilingual performance at moderate cost. Now a legacy model superseded by Claude Sonnet 4.5 and 4.6.", + contextWindow: 200000, + maxOutputTokens: 64000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-05-14", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-03-01", + resolvedAt: "2026-03-24T10:58:39.601Z", + baseModelName: "claude-sonnet-4", }, "claude-sonnet-4-5-20250929": { - "provider": "anthropic", - "description": "Anthropic's high-performance mid-tier model with strong coding, reasoning, and multi-step problem solving capabilities. Successor to Claude Sonnet 4, offering improved benchmarks at the same price point.", - "contextWindow": 200000, - "maxOutputTokens": 64000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-09-29", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-01-01", - "resolvedAt": "2026-03-24T10:59:54.426Z", - "baseModelName": "claude-sonnet-4-5" + provider: "anthropic", + description: + "Anthropic's high-performance mid-tier model with strong coding, reasoning, and multi-step problem solving capabilities. Successor to Claude Sonnet 4, offering improved benchmarks at the same price point.", + contextWindow: 200000, + maxOutputTokens: 64000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-09-29", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-01-01", + resolvedAt: "2026-03-24T10:59:54.426Z", + baseModelName: "claude-sonnet-4-5", }, "claude-sonnet-4-6": { - "provider": "anthropic", - "description": "Anthropic's best combination of speed and intelligence, excelling at coding, agentic tasks, and computer use, with a 1M token context window and performance rivaling prior Opus-class models.", - "contextWindow": 1000000, - "maxOutputTokens": 64000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2026-02-17", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2026-01-01", - "resolvedAt": "2026-03-24T10:59:59.014Z", - "baseModelName": null + provider: "anthropic", + description: + "Anthropic's best combination of speed and intelligence, excelling at coding, agentic tasks, and computer use, with a 1M token context window and performance rivaling prior Opus-class models.", + contextWindow: 1000000, + maxOutputTokens: 64000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2026-02-17", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2026-01-01", + resolvedAt: "2026-03-24T10:59:59.014Z", + baseModelName: null, }, "claude-sonnet-4-latest": { - "provider": "anthropic", - "description": "Anthropic's balanced Claude 4 model offering strong coding, reasoning, and multilingual performance at moderate cost. Now a legacy model superseded by Claude Sonnet 4.5 and 4.6.", - "contextWindow": 200000, - "maxOutputTokens": 64000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-05-14", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-03-01", - "resolvedAt": "2026-03-24T10:58:39.601Z", - "baseModelName": "claude-sonnet-4" + provider: "anthropic", + description: + "Anthropic's balanced Claude 4 model offering strong coding, reasoning, and multilingual performance at moderate cost. Now a legacy model superseded by Claude Sonnet 4.5 and 4.6.", + contextWindow: 200000, + maxOutputTokens: 64000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-05-14", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-03-01", + resolvedAt: "2026-03-24T10:58:39.601Z", + baseModelName: "claude-sonnet-4", }, "gemini-1.0-pro": { - "provider": "google", - "description": "Google's first-generation Gemini Pro model, a mid-size multimodal model designed for text generation, reasoning, and chat applications. Succeeded by Gemini 1.5 Pro.", - "contextWindow": 32760, - "maxOutputTokens": 8192, - "capabilities": [ - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2023-12-13", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2025-02-15", - "knowledgeCutoff": "2023-04-01", - "resolvedAt": "2026-03-24T10:59:26.767Z", - "baseModelName": null + provider: "google", + description: + "Google's first-generation Gemini Pro model, a mid-size multimodal model designed for text generation, reasoning, and chat applications. Succeeded by Gemini 1.5 Pro.", + contextWindow: 32760, + maxOutputTokens: 8192, + capabilities: ["tool_use", "streaming", "json_mode"], + releaseDate: "2023-12-13", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2025-02-15", + knowledgeCutoff: "2023-04-01", + resolvedAt: "2026-03-24T10:59:26.767Z", + baseModelName: null, }, "gemini-1.0-pro-001": { - "provider": "google", - "description": "Google's first-generation Pro model optimized for text generation, reasoning, and multi-turn conversation tasks, part of the original Gemini 1.0 lineup.", - "contextWindow": 30720, - "maxOutputTokens": 2048, - "capabilities": [ - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-02-15", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2025-02-15", - "knowledgeCutoff": "2023-04-01", - "resolvedAt": "2026-03-24T10:59:27.391Z", - "baseModelName": null + provider: "google", + description: + "Google's first-generation Pro model optimized for text generation, reasoning, and multi-turn conversation tasks, part of the original Gemini 1.0 lineup.", + contextWindow: 30720, + maxOutputTokens: 2048, + capabilities: ["tool_use", "streaming", "json_mode"], + releaseDate: "2024-02-15", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2025-02-15", + knowledgeCutoff: "2023-04-01", + resolvedAt: "2026-03-24T10:59:27.391Z", + baseModelName: null, }, "gemini-1.0-pro-latest": { - "provider": "google", - "description": "Google's first-generation Gemini Pro model, a mid-size multimodal model designed for text generation, reasoning, and chat applications. Succeeded by Gemini 1.5 Pro.", - "contextWindow": 32760, - "maxOutputTokens": 8192, - "capabilities": [ - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2023-12-13", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2025-02-15", - "knowledgeCutoff": "2023-04-01", - "resolvedAt": "2026-03-24T10:59:26.767Z", - "baseModelName": "gemini-1.0-pro" + provider: "google", + description: + "Google's first-generation Gemini Pro model, a mid-size multimodal model designed for text generation, reasoning, and chat applications. Succeeded by Gemini 1.5 Pro.", + contextWindow: 32760, + maxOutputTokens: 8192, + capabilities: ["tool_use", "streaming", "json_mode"], + releaseDate: "2023-12-13", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2025-02-15", + knowledgeCutoff: "2023-04-01", + resolvedAt: "2026-03-24T10:59:26.767Z", + baseModelName: "gemini-1.0-pro", }, "gemini-1.5-pro-latest": { - "provider": "google", - "description": "Google's mid-size multimodal model with a massive context window, strong at long-document understanding, code generation, and multi-turn conversation.", - "contextWindow": 2097152, - "maxOutputTokens": 8192, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "audio_input" - ], - "releaseDate": "2024-02-15", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2025-09-24", - "knowledgeCutoff": "2024-04-01", - "resolvedAt": "2026-03-24T10:59:25.463Z", - "baseModelName": "gemini-1.5-pro" + provider: "google", + description: + "Google's mid-size multimodal model with a massive context window, strong at long-document understanding, code generation, and multi-turn conversation.", + contextWindow: 2097152, + maxOutputTokens: 8192, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "audio_input"], + releaseDate: "2024-02-15", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2025-09-24", + knowledgeCutoff: "2024-04-01", + resolvedAt: "2026-03-24T10:59:25.463Z", + baseModelName: "gemini-1.5-pro", }, "gemini-2.0-flash": { - "provider": "google", - "description": "Google's second-generation workhorse model optimized for speed, with native tool use, multimodal input (text, images, audio, video), and a 1M token context window.", - "contextWindow": 1048576, - "maxOutputTokens": 8192, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "code_execution", - "audio_input" - ], - "releaseDate": "2025-02-05", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2026-06-01", - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:01:15.429Z", - "baseModelName": null + provider: "google", + description: + "Google's second-generation workhorse model optimized for speed, with native tool use, multimodal input (text, images, audio, video), and a 1M token context window.", + contextWindow: 1048576, + maxOutputTokens: 8192, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "code_execution", "audio_input"], + releaseDate: "2025-02-05", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2026-06-01", + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:01:15.429Z", + baseModelName: null, }, "gemini-2.0-flash-001": { - "provider": "google", - "description": "Google's fast and efficient multimodal model that outperforms Gemini 1.5 Pro on key benchmarks at twice the speed, supporting text, image, audio, and video inputs with native tool use.", - "contextWindow": 1048576, - "maxOutputTokens": 8192, - "capabilities": [ + provider: "google", + description: + "Google's fast and efficient multimodal model that outperforms Gemini 1.5 Pro on key benchmarks at twice the speed, supporting text, image, audio, and video inputs with native tool use.", + contextWindow: 1048576, + maxOutputTokens: 8192, + capabilities: [ "vision", "tool_use", "streaming", @@ -683,1890 +570,1614 @@ export const modelCatalog: Record = { "audio_input", "image_generation", "audio_output", - "code_execution" + "code_execution", ], - "releaseDate": "2025-02-05", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2026-06-01", - "knowledgeCutoff": "2024-08-01", - "resolvedAt": "2026-03-24T11:01:04.084Z", - "baseModelName": null + releaseDate: "2025-02-05", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2026-06-01", + knowledgeCutoff: "2024-08-01", + resolvedAt: "2026-03-24T11:01:04.084Z", + baseModelName: null, }, "gemini-2.0-flash-lite-preview": { - "provider": "google", - "description": "A lightweight, cost-efficient variant of Gemini 2.0 Flash optimized for low latency and high throughput, supporting multimodal input with text output.", - "contextWindow": 1048576, - "maxOutputTokens": 8192, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-02-05", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2026-06-01", - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:00:56.775Z", - "baseModelName": null + provider: "google", + description: + "A lightweight, cost-efficient variant of Gemini 2.0 Flash optimized for low latency and high throughput, supporting multimodal input with text output.", + contextWindow: 1048576, + maxOutputTokens: 8192, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-02-05", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2026-06-01", + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:00:56.775Z", + baseModelName: null, }, "gemini-2.0-flash-lite-preview-02-05": { - "provider": "google", - "description": "Google's cost-optimized, low-latency model in the Gemini 2.0 family, designed for high-volume tasks like summarization, multimodal processing, and categorization.", - "contextWindow": 1048576, - "maxOutputTokens": 8192, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-02-05", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2025-12-09", - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:01:34.165Z", - "baseModelName": null + provider: "google", + description: + "Google's cost-optimized, low-latency model in the Gemini 2.0 family, designed for high-volume tasks like summarization, multimodal processing, and categorization.", + contextWindow: 1048576, + maxOutputTokens: 8192, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-02-05", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2025-12-09", + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:01:34.165Z", + baseModelName: null, }, "gemini-2.5-flash": { - "provider": "google", - "description": "Google's best price-performance model optimized for low-latency, high-volume tasks requiring reasoning, with built-in thinking capabilities and multimodal input support.", - "contextWindow": 1048576, - "maxOutputTokens": 65536, - "capabilities": [ + provider: "google", + description: + "Google's best price-performance model optimized for low-latency, high-volume tasks requiring reasoning, with built-in thinking capabilities and multimodal input support.", + contextWindow: 1048576, + maxOutputTokens: 65536, + capabilities: [ "vision", "tool_use", "streaming", "json_mode", "extended_thinking", "code_execution", - "audio_input" + "audio_input", ], - "releaseDate": "2025-06-01", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": false, - "deprecationDate": null, - "knowledgeCutoff": "2025-01-01", - "resolvedAt": "2026-03-24T11:01:25.200Z", - "baseModelName": null + releaseDate: "2025-06-01", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: false, + deprecationDate: null, + knowledgeCutoff: "2025-01-01", + resolvedAt: "2026-03-24T11:01:25.200Z", + baseModelName: null, }, "gemini-2.5-flash-lite": { - "provider": "google", - "description": "Google's most cost-efficient Gemini model, optimized for low-latency use cases with strong reasoning, multilingual, and long-context capabilities at minimal cost.", - "contextWindow": 1048576, - "maxOutputTokens": 65535, - "capabilities": [ + provider: "google", + description: + "Google's most cost-efficient Gemini model, optimized for low-latency use cases with strong reasoning, multilingual, and long-context capabilities at minimal cost.", + contextWindow: 1048576, + maxOutputTokens: 65535, + capabilities: [ "vision", "tool_use", "streaming", "json_mode", "extended_thinking", "code_execution", - "audio_input" + "audio_input", ], - "releaseDate": "2025-07-22", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2026-07-22", - "knowledgeCutoff": "2025-01-01", - "resolvedAt": "2026-03-24T11:02:30.060Z", - "baseModelName": null + releaseDate: "2025-07-22", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2026-07-22", + knowledgeCutoff: "2025-01-01", + resolvedAt: "2026-03-24T11:02:30.060Z", + baseModelName: null, }, "gemini-2.5-pro": { - "provider": "google", - "description": "Google's most advanced reasoning model with deep thinking capabilities, excelling at complex tasks like coding, math, and multimodal understanding across text, images, audio, and video.", - "contextWindow": 1048576, - "maxOutputTokens": 65535, - "capabilities": [ + provider: "google", + description: + "Google's most advanced reasoning model with deep thinking capabilities, excelling at complex tasks like coding, math, and multimodal understanding across text, images, audio, and video.", + contextWindow: 1048576, + maxOutputTokens: 65535, + capabilities: [ "vision", "tool_use", "streaming", "json_mode", "extended_thinking", "code_execution", - "audio_input" + "audio_input", ], - "releaseDate": "2025-03-25", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2026-06-17", - "knowledgeCutoff": "2025-01-31", - "resolvedAt": "2026-03-24T11:02:25.573Z", - "baseModelName": null + releaseDate: "2025-03-25", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2026-06-17", + knowledgeCutoff: "2025-01-31", + resolvedAt: "2026-03-24T11:02:25.573Z", + baseModelName: null, }, "gemini-3-flash-preview": { - "provider": "google", - "description": "Google's high-speed thinking model that matches Gemini 2.5 Pro performance at ~3x faster speed and lower cost, designed for agentic workflows, multi-turn chat, and coding assistance with configurable reasoning levels.", - "contextWindow": 1048576, - "maxOutputTokens": 65536, - "capabilities": [ + provider: "google", + description: + "Google's high-speed thinking model that matches Gemini 2.5 Pro performance at ~3x faster speed and lower cost, designed for agentic workflows, multi-turn chat, and coding assistance with configurable reasoning levels.", + contextWindow: 1048576, + maxOutputTokens: 65536, + capabilities: [ "vision", "tool_use", "streaming", "json_mode", "extended_thinking", "code_execution", - "audio_input" + "audio_input", ], - "releaseDate": "2025-12-17", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-01-01", - "resolvedAt": "2026-03-24T11:02:13.388Z", - "baseModelName": null + releaseDate: "2025-12-17", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-01-01", + resolvedAt: "2026-03-24T11:02:13.388Z", + baseModelName: null, }, "gemini-3-pro-preview": { - "provider": "google", - "description": "Google's flagship reasoning and multimodal model with strong coding and agentic capabilities, now deprecated in favor of Gemini 3.1 Pro.", - "contextWindow": 1048576, - "maxOutputTokens": 65536, - "capabilities": [ + provider: "google", + description: + "Google's flagship reasoning and multimodal model with strong coding and agentic capabilities, now deprecated in favor of Gemini 3.1 Pro.", + contextWindow: 1048576, + maxOutputTokens: 65536, + capabilities: [ "vision", "tool_use", "streaming", "json_mode", "extended_thinking", "code_execution", - "audio_input" + "audio_input", ], - "releaseDate": "2025-11-01", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2026-03-09", - "knowledgeCutoff": "2025-01-01", - "resolvedAt": "2026-03-24T11:02:29.313Z", - "baseModelName": null + releaseDate: "2025-11-01", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2026-03-09", + knowledgeCutoff: "2025-01-01", + resolvedAt: "2026-03-24T11:02:29.313Z", + baseModelName: null, }, "gemini-3.1-flash-lite-preview": { - "provider": "google", - "description": "Google's most cost-efficient multimodal model in the Gemini 3 series, optimized for high-volume, low-latency tasks like translation, classification, and simple data extraction. Offers 2.5x faster time-to-first-token than Gemini 2.5 Flash.", - "contextWindow": 1048576, - "maxOutputTokens": 65536, - "capabilities": [ + provider: "google", + description: + "Google's most cost-efficient multimodal model in the Gemini 3 series, optimized for high-volume, low-latency tasks like translation, classification, and simple data extraction. Offers 2.5x faster time-to-first-token than Gemini 2.5 Flash.", + contextWindow: 1048576, + maxOutputTokens: 65536, + capabilities: [ "vision", "tool_use", "streaming", "json_mode", "extended_thinking", "code_execution", - "audio_input" + "audio_input", ], - "releaseDate": "2026-03-03", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-01-01", - "resolvedAt": "2026-03-24T11:02:29.253Z", - "baseModelName": null + releaseDate: "2026-03-03", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-01-01", + resolvedAt: "2026-03-24T11:02:29.253Z", + baseModelName: null, }, "gemini-3.1-pro-preview": { - "provider": "google", - "description": "Google's most advanced reasoning model in the Gemini 3.1 family, excelling at complex problem-solving across text, audio, images, video, and code with a 1M token context window and extended thinking capabilities.", - "contextWindow": 1048576, - "maxOutputTokens": 65536, - "capabilities": [ + provider: "google", + description: + "Google's most advanced reasoning model in the Gemini 3.1 family, excelling at complex problem-solving across text, audio, images, video, and code with a 1M token context window and extended thinking capabilities.", + contextWindow: 1048576, + maxOutputTokens: 65536, + capabilities: [ "vision", "tool_use", "streaming", "json_mode", "extended_thinking", "code_execution", - "audio_input" + "audio_input", ], - "releaseDate": "2026-02-19", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-01-01", - "resolvedAt": "2026-03-24T11:03:33.071Z", - "baseModelName": null + releaseDate: "2026-02-19", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-01-01", + resolvedAt: "2026-03-24T11:03:33.071Z", + baseModelName: null, }, "gemini-pro": { - "provider": "google", - "description": "Google's first-generation Gemini model for text generation, reasoning, and multi-turn conversation. Superseded by Gemini 1.5 Pro and later models.", - "contextWindow": 32768, - "maxOutputTokens": 8192, - "capabilities": [ - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2023-12-13", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": false, - "deprecationDate": "2025-04-09", - "knowledgeCutoff": "2023-04-01", - "resolvedAt": "2026-03-24T11:03:45.401Z", - "baseModelName": null + provider: "google", + description: + "Google's first-generation Gemini model for text generation, reasoning, and multi-turn conversation. Superseded by Gemini 1.5 Pro and later models.", + contextWindow: 32768, + maxOutputTokens: 8192, + capabilities: ["tool_use", "streaming", "json_mode"], + releaseDate: "2023-12-13", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: false, + deprecationDate: "2025-04-09", + knowledgeCutoff: "2023-04-01", + resolvedAt: "2026-03-24T11:03:45.401Z", + baseModelName: null, }, "gpt-3.5-turbo": { - "provider": "openai", - "description": "OpenAI's fast and cost-effective model optimized for chat and instruction-following tasks, now superseded by GPT-4o mini.", - "contextWindow": 16385, - "maxOutputTokens": 4096, - "capabilities": [ - "tool_use", - "streaming", - "json_mode", - "fine_tunable" - ], - "releaseDate": "2023-03-01", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2025-09-13", - "knowledgeCutoff": "2021-09-01", - "resolvedAt": "2026-03-24T11:03:11.412Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's fast and cost-effective model optimized for chat and instruction-following tasks, now superseded by GPT-4o mini.", + contextWindow: 16385, + maxOutputTokens: 4096, + capabilities: ["tool_use", "streaming", "json_mode", "fine_tunable"], + releaseDate: "2023-03-01", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2025-09-13", + knowledgeCutoff: "2021-09-01", + resolvedAt: "2026-03-24T11:03:11.412Z", + baseModelName: null, }, "gpt-3.5-turbo-0125": { - "provider": "openai", - "description": "A fast and cost-effective GPT-3.5 Turbo snapshot optimized for chat completions, offering improved accuracy for function calling and reduced instances of incomplete responses.", - "contextWindow": 16385, - "maxOutputTokens": 4096, - "capabilities": [ - "tool_use", - "streaming", - "json_mode", - "fine_tunable" - ], - "releaseDate": "2024-01-25", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2025-09-13", - "knowledgeCutoff": "2021-09-01", - "resolvedAt": "2026-03-24T11:03:11.310Z", - "baseModelName": null + provider: "openai", + description: + "A fast and cost-effective GPT-3.5 Turbo snapshot optimized for chat completions, offering improved accuracy for function calling and reduced instances of incomplete responses.", + contextWindow: 16385, + maxOutputTokens: 4096, + capabilities: ["tool_use", "streaming", "json_mode", "fine_tunable"], + releaseDate: "2024-01-25", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2025-09-13", + knowledgeCutoff: "2021-09-01", + resolvedAt: "2026-03-24T11:03:11.310Z", + baseModelName: null, }, "gpt-3.5-turbo-0301": { - "provider": "openai", - "description": "Early snapshot of GPT-3.5 Turbo, OpenAI's first ChatGPT-optimized model for chat completions. Fast and cost-effective for simple tasks but superseded by later revisions.", - "contextWindow": 4096, - "maxOutputTokens": 4096, - "capabilities": [ - "streaming", - "fine_tunable" - ], - "releaseDate": "2023-03-01", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2024-06-13", - "knowledgeCutoff": "2021-09-01", - "resolvedAt": "2026-03-24T11:03:12.060Z", - "baseModelName": null + provider: "openai", + description: + "Early snapshot of GPT-3.5 Turbo, OpenAI's first ChatGPT-optimized model for chat completions. Fast and cost-effective for simple tasks but superseded by later revisions.", + contextWindow: 4096, + maxOutputTokens: 4096, + capabilities: ["streaming", "fine_tunable"], + releaseDate: "2023-03-01", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2024-06-13", + knowledgeCutoff: "2021-09-01", + resolvedAt: "2026-03-24T11:03:12.060Z", + baseModelName: null, }, "gpt-3.5-turbo-0613": { - "provider": "openai", - "description": "A snapshot of GPT-3.5 Turbo from June 2023, optimized for chat and instruction-following tasks with function calling support.", - "contextWindow": 4096, - "maxOutputTokens": 4096, - "capabilities": [ - "tool_use", - "streaming", - "json_mode", - "fine_tunable" - ], - "releaseDate": "2023-06-13", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2024-09-13", - "knowledgeCutoff": "2021-09-01", - "resolvedAt": "2026-03-24T11:04:04.463Z", - "baseModelName": null + provider: "openai", + description: + "A snapshot of GPT-3.5 Turbo from June 2023, optimized for chat and instruction-following tasks with function calling support.", + contextWindow: 4096, + maxOutputTokens: 4096, + capabilities: ["tool_use", "streaming", "json_mode", "fine_tunable"], + releaseDate: "2023-06-13", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2024-09-13", + knowledgeCutoff: "2021-09-01", + resolvedAt: "2026-03-24T11:04:04.463Z", + baseModelName: null, }, "gpt-3.5-turbo-1106": { - "provider": "openai", - "description": "A dated snapshot of GPT-3.5 Turbo released in November 2023, offering improved instruction following, JSON mode, and parallel function calling over previous GPT-3.5 variants.", - "contextWindow": 16385, - "maxOutputTokens": 4096, - "capabilities": [ - "tool_use", - "streaming", - "json_mode", - "fine_tunable" - ], - "releaseDate": "2023-11-06", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2025-09-13", - "knowledgeCutoff": "2021-09-01", - "resolvedAt": "2026-03-24T11:04:23.054Z", - "baseModelName": null + provider: "openai", + description: + "A dated snapshot of GPT-3.5 Turbo released in November 2023, offering improved instruction following, JSON mode, and parallel function calling over previous GPT-3.5 variants.", + contextWindow: 16385, + maxOutputTokens: 4096, + capabilities: ["tool_use", "streaming", "json_mode", "fine_tunable"], + releaseDate: "2023-11-06", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2025-09-13", + knowledgeCutoff: "2021-09-01", + resolvedAt: "2026-03-24T11:04:23.054Z", + baseModelName: null, }, "gpt-3.5-turbo-16k": { - "provider": "openai", - "description": "Extended context version of GPT-3.5 Turbo with 16K token context window, offering the same capabilities as the base model but able to process longer inputs.", - "contextWindow": 16384, - "maxOutputTokens": 4096, - "capabilities": [ - "streaming", - "json_mode", - "fine_tunable", - "tool_use" - ], - "releaseDate": "2023-06-13", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2025-09-13", - "knowledgeCutoff": "2021-09-01", - "resolvedAt": "2026-03-24T11:04:36.307Z", - "baseModelName": null + provider: "openai", + description: + "Extended context version of GPT-3.5 Turbo with 16K token context window, offering the same capabilities as the base model but able to process longer inputs.", + contextWindow: 16384, + maxOutputTokens: 4096, + capabilities: ["streaming", "json_mode", "fine_tunable", "tool_use"], + releaseDate: "2023-06-13", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2025-09-13", + knowledgeCutoff: "2021-09-01", + resolvedAt: "2026-03-24T11:04:36.307Z", + baseModelName: null, }, "gpt-3.5-turbo-16k-0613": { - "provider": "openai", - "description": "Extended context window variant of GPT-3.5 Turbo with 16K token context, snapshot from June 2023. Optimized for chat completions with longer document processing.", - "contextWindow": 16384, - "maxOutputTokens": 4096, - "capabilities": [ - "streaming", - "json_mode", - "fine_tunable" - ], - "releaseDate": "2023-06-13", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2024-09-13", - "knowledgeCutoff": "2021-09-01", - "resolvedAt": "2026-03-24T11:04:22.894Z", - "baseModelName": null + provider: "openai", + description: + "Extended context window variant of GPT-3.5 Turbo with 16K token context, snapshot from June 2023. Optimized for chat completions with longer document processing.", + contextWindow: 16384, + maxOutputTokens: 4096, + capabilities: ["streaming", "json_mode", "fine_tunable"], + releaseDate: "2023-06-13", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2024-09-13", + knowledgeCutoff: "2021-09-01", + resolvedAt: "2026-03-24T11:04:22.894Z", + baseModelName: null, }, "gpt-3.5-turbo-instruct": { - "provider": "openai", - "description": "OpenAI's GPT-3.5 Turbo Instruct is a completions-only model (not chat) optimized for following explicit instructions, replacing the legacy text-davinci-003 model.", - "contextWindow": 4096, - "maxOutputTokens": 4096, - "capabilities": [ - "fine_tunable" - ], - "releaseDate": "2023-09-19", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2025-01-27", - "knowledgeCutoff": "2021-09-01", - "resolvedAt": "2026-03-24T11:04:22.309Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's GPT-3.5 Turbo Instruct is a completions-only model (not chat) optimized for following explicit instructions, replacing the legacy text-davinci-003 model.", + contextWindow: 4096, + maxOutputTokens: 4096, + capabilities: ["fine_tunable"], + releaseDate: "2023-09-19", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2025-01-27", + knowledgeCutoff: "2021-09-01", + resolvedAt: "2026-03-24T11:04:22.309Z", + baseModelName: null, }, "gpt-4": { - "provider": "openai", - "description": "OpenAI's flagship large language model that preceded GPT-4o, known for strong reasoning and instruction-following capabilities across a wide range of tasks.", - "contextWindow": 8192, - "maxOutputTokens": 8192, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2023-03-14", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2025-06-06", - "knowledgeCutoff": "2023-12-01", - "resolvedAt": "2026-03-24T11:04:36.773Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's flagship large language model that preceded GPT-4o, known for strong reasoning and instruction-following capabilities across a wide range of tasks.", + contextWindow: 8192, + maxOutputTokens: 8192, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2023-03-14", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2025-06-06", + knowledgeCutoff: "2023-12-01", + resolvedAt: "2026-03-24T11:04:36.773Z", + baseModelName: null, }, "gpt-4-0125-preview": { - "provider": "openai", - "description": "An improved GPT-4 Turbo preview model with better task completion, reduced laziness in code generation, and enhanced instruction following.", - "contextWindow": 128000, - "maxOutputTokens": 4096, - "capabilities": [ - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-01-25", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-12-01", - "resolvedAt": "2026-03-24T11:04:54.196Z", - "baseModelName": null + provider: "openai", + description: + "An improved GPT-4 Turbo preview model with better task completion, reduced laziness in code generation, and enhanced instruction following.", + contextWindow: 128000, + maxOutputTokens: 4096, + capabilities: ["tool_use", "streaming", "json_mode"], + releaseDate: "2024-01-25", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-12-01", + resolvedAt: "2026-03-24T11:04:54.196Z", + baseModelName: null, }, "gpt-4-0314": { - "provider": "openai", - "description": "Original GPT-4 snapshot from March 2023, a large multimodal model (text-only at launch) that was one of OpenAI's first GPT-4 releases. Now deprecated and replaced by newer GPT-4 variants.", - "contextWindow": 8192, - "maxOutputTokens": 4096, - "capabilities": [ - "streaming" - ], - "releaseDate": "2023-03-14", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2024-06-13", - "knowledgeCutoff": "2021-09-01", - "resolvedAt": "2026-03-24T11:05:14.112Z", - "baseModelName": null + provider: "openai", + description: + "Original GPT-4 snapshot from March 2023, a large multimodal model (text-only at launch) that was one of OpenAI's first GPT-4 releases. Now deprecated and replaced by newer GPT-4 variants.", + contextWindow: 8192, + maxOutputTokens: 4096, + capabilities: ["streaming"], + releaseDate: "2023-03-14", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2024-06-13", + knowledgeCutoff: "2021-09-01", + resolvedAt: "2026-03-24T11:05:14.112Z", + baseModelName: null, }, "gpt-4-0613": { - "provider": "openai", - "description": "A snapshot of GPT-4 from June 2023, offering strong reasoning and instruction-following capabilities. It was one of the first widely available GPT-4 variants with function calling support.", - "contextWindow": 8192, - "maxOutputTokens": 8192, - "capabilities": [ - "tool_use", - "streaming", - "json_mode", - "fine_tunable" - ], - "releaseDate": "2023-06-13", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2025-06-06", - "knowledgeCutoff": "2021-09-01", - "resolvedAt": "2026-03-24T11:05:13.885Z", - "baseModelName": null + provider: "openai", + description: + "A snapshot of GPT-4 from June 2023, offering strong reasoning and instruction-following capabilities. It was one of the first widely available GPT-4 variants with function calling support.", + contextWindow: 8192, + maxOutputTokens: 8192, + capabilities: ["tool_use", "streaming", "json_mode", "fine_tunable"], + releaseDate: "2023-06-13", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2025-06-06", + knowledgeCutoff: "2021-09-01", + resolvedAt: "2026-03-24T11:05:13.885Z", + baseModelName: null, }, "gpt-4-1106-preview": { - "provider": "openai", - "description": "GPT-4 Turbo preview model with 128K context window, offering improved instruction following and JSON mode support at reduced cost compared to GPT-4.", - "contextWindow": 128000, - "maxOutputTokens": 4096, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2023-11-06", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-04-01", - "resolvedAt": "2026-03-24T11:05:12.960Z", - "baseModelName": null + provider: "openai", + description: + "GPT-4 Turbo preview model with 128K context window, offering improved instruction following and JSON mode support at reduced cost compared to GPT-4.", + contextWindow: 128000, + maxOutputTokens: 4096, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2023-11-06", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-04-01", + resolvedAt: "2026-03-24T11:05:12.960Z", + baseModelName: null, }, "gpt-4-32k": { - "provider": "openai", - "description": "Extended context window variant of GPT-4 with 32,768 token capacity, offering the same capabilities as GPT-4 but able to process longer documents and conversations.", - "contextWindow": 32768, - "maxOutputTokens": 4096, - "capabilities": [ - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2023-03-14", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2025-06-06", - "knowledgeCutoff": "2021-09-01", - "resolvedAt": "2026-03-24T11:05:14.584Z", - "baseModelName": null + provider: "openai", + description: + "Extended context window variant of GPT-4 with 32,768 token capacity, offering the same capabilities as GPT-4 but able to process longer documents and conversations.", + contextWindow: 32768, + maxOutputTokens: 4096, + capabilities: ["tool_use", "streaming", "json_mode"], + releaseDate: "2023-03-14", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2025-06-06", + knowledgeCutoff: "2021-09-01", + resolvedAt: "2026-03-24T11:05:14.584Z", + baseModelName: null, }, "gpt-4-32k-0314": { - "provider": "openai", - "description": "Extended context (32k token) variant of the original GPT-4 launch snapshot from March 2024, offering the same capabilities as gpt-4-0314 but with 4x the context window.", - "contextWindow": 32768, - "maxOutputTokens": 4096, - "capabilities": [ - "streaming" - ], - "releaseDate": "2023-03-14", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2024-06-13", - "knowledgeCutoff": "2021-09-01", - "resolvedAt": "2026-03-24T11:05:32.044Z", - "baseModelName": null + provider: "openai", + description: + "Extended context (32k token) variant of the original GPT-4 launch snapshot from March 2024, offering the same capabilities as gpt-4-0314 but with 4x the context window.", + contextWindow: 32768, + maxOutputTokens: 4096, + capabilities: ["streaming"], + releaseDate: "2023-03-14", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2024-06-13", + knowledgeCutoff: "2021-09-01", + resolvedAt: "2026-03-24T11:05:32.044Z", + baseModelName: null, }, "gpt-4-32k-0613": { - "provider": "openai", - "description": "Extended context window variant of GPT-4 with 32,768 token context, based on the June 2023 snapshot. Offers the same capabilities as GPT-4 but with 4x the context length.", - "contextWindow": 32768, - "maxOutputTokens": 4096, - "capabilities": [ - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2023-06-13", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2025-06-06", - "knowledgeCutoff": "2021-09-01", - "resolvedAt": "2026-03-24T11:05:53.070Z", - "baseModelName": null + provider: "openai", + description: + "Extended context window variant of GPT-4 with 32,768 token context, based on the June 2023 snapshot. Offers the same capabilities as GPT-4 but with 4x the context length.", + contextWindow: 32768, + maxOutputTokens: 4096, + capabilities: ["tool_use", "streaming", "json_mode"], + releaseDate: "2023-06-13", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2025-06-06", + knowledgeCutoff: "2021-09-01", + resolvedAt: "2026-03-24T11:05:53.070Z", + baseModelName: null, }, "gpt-4-preview": { - "provider": "openai", - "description": "GPT-4 Turbo preview model with 128K context window, JSON mode, and parallel function calling. A preview release in the GPT-4 Turbo series, now deprecated in favor of newer models.", - "contextWindow": 128000, - "maxOutputTokens": 4096, - "capabilities": [ - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2023-11-06", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2025-06-06", - "knowledgeCutoff": "2023-04-01", - "resolvedAt": "2026-03-24T11:06:54.248Z", - "baseModelName": null + provider: "openai", + description: + "GPT-4 Turbo preview model with 128K context window, JSON mode, and parallel function calling. A preview release in the GPT-4 Turbo series, now deprecated in favor of newer models.", + contextWindow: 128000, + maxOutputTokens: 4096, + capabilities: ["tool_use", "streaming", "json_mode"], + releaseDate: "2023-11-06", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2025-06-06", + knowledgeCutoff: "2023-04-01", + resolvedAt: "2026-03-24T11:06:54.248Z", + baseModelName: null, }, "gpt-4-turbo": { - "provider": "openai", - "description": "OpenAI's optimized GPT-4 variant offering faster inference and lower cost than the original GPT-4, with vision capabilities and a 128K context window.", - "contextWindow": 128000, - "maxOutputTokens": 4096, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-04-09", - "isHidden": false, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-12-01", - "resolvedAt": "2026-03-24T11:05:51.415Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's optimized GPT-4 variant offering faster inference and lower cost than the original GPT-4, with vision capabilities and a 128K context window.", + contextWindow: 128000, + maxOutputTokens: 4096, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2024-04-09", + isHidden: false, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-12-01", + resolvedAt: "2026-03-24T11:05:51.415Z", + baseModelName: null, }, "gpt-4-turbo-2024-04-09": { - "provider": "openai", - "description": "OpenAI's optimized GPT-4 variant offering faster inference and lower cost than the original GPT-4, with vision capabilities and a 128K context window.", - "contextWindow": 128000, - "maxOutputTokens": 4096, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-04-09", - "isHidden": false, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-12-01", - "resolvedAt": "2026-03-24T11:05:51.415Z", - "baseModelName": "gpt-4-turbo" + provider: "openai", + description: + "OpenAI's optimized GPT-4 variant offering faster inference and lower cost than the original GPT-4, with vision capabilities and a 128K context window.", + contextWindow: 128000, + maxOutputTokens: 4096, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2024-04-09", + isHidden: false, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-12-01", + resolvedAt: "2026-03-24T11:05:51.415Z", + baseModelName: "gpt-4-turbo", }, "gpt-4-turbo-preview": { - "provider": "openai", - "description": "An early preview of GPT-4 Turbo with a 128K context window, offering improved instruction following and JSON mode support at reduced cost compared to GPT-4.", - "contextWindow": 128000, - "maxOutputTokens": 4096, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-01-25", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-12-01", - "resolvedAt": "2026-03-24T11:05:52.346Z", - "baseModelName": null + provider: "openai", + description: + "An early preview of GPT-4 Turbo with a 128K context window, offering improved instruction following and JSON mode support at reduced cost compared to GPT-4.", + contextWindow: 128000, + maxOutputTokens: 4096, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2024-01-25", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-12-01", + resolvedAt: "2026-03-24T11:05:52.346Z", + baseModelName: null, }, "gpt-4-turbo-vision": { - "provider": "openai", - "description": "OpenAI's GPT-4 Turbo model with vision capabilities, able to analyze and understand images alongside text. It was a preview model later superseded by GPT-4 Turbo (gpt-4-turbo-2024-04-09) and then GPT-4o.", - "contextWindow": 128000, - "maxOutputTokens": 4096, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2023-11-06", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2024-12-06", - "knowledgeCutoff": "2023-04-01", - "resolvedAt": "2026-03-24T11:06:38.455Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's GPT-4 Turbo model with vision capabilities, able to analyze and understand images alongside text. It was a preview model later superseded by GPT-4 Turbo (gpt-4-turbo-2024-04-09) and then GPT-4o.", + contextWindow: 128000, + maxOutputTokens: 4096, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2023-11-06", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2024-12-06", + knowledgeCutoff: "2023-04-01", + resolvedAt: "2026-03-24T11:06:38.455Z", + baseModelName: null, }, "gpt-4.1": { - "provider": "openai", - "description": "OpenAI's flagship model optimized for coding, instruction following, and tool calling with a 1M token context window. Excels at structured outputs and long-context tasks.", - "contextWindow": 1047576, - "maxOutputTokens": 32768, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-04-14", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:07:00.439Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's flagship model optimized for coding, instruction following, and tool calling with a 1M token context window. Excels at structured outputs and long-context tasks.", + contextWindow: 1047576, + maxOutputTokens: 32768, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-04-14", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:07:00.439Z", + baseModelName: null, }, "gpt-4.1-2025-04-14": { - "provider": "openai", - "description": "OpenAI's flagship model optimized for coding, instruction following, and tool calling with a 1M token context window. Excels at structured outputs and long-context tasks.", - "contextWindow": 1047576, - "maxOutputTokens": 32768, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-04-14", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:07:00.439Z", - "baseModelName": "gpt-4.1" + provider: "openai", + description: + "OpenAI's flagship model optimized for coding, instruction following, and tool calling with a 1M token context window. Excels at structured outputs and long-context tasks.", + contextWindow: 1047576, + maxOutputTokens: 32768, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-04-14", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:07:00.439Z", + baseModelName: "gpt-4.1", }, "gpt-4.1-mini": { - "provider": "openai", - "description": "A compact, cost-efficient model in OpenAI's GPT-4.1 family that matches or exceeds GPT-4o on many benchmarks while offering nearly half the latency and significantly lower cost.", - "contextWindow": 1000000, - "maxOutputTokens": 32768, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "fine_tunable" - ], - "releaseDate": "2025-04-14", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:08:14.524Z", - "baseModelName": null + provider: "openai", + description: + "A compact, cost-efficient model in OpenAI's GPT-4.1 family that matches or exceeds GPT-4o on many benchmarks while offering nearly half the latency and significantly lower cost.", + contextWindow: 1000000, + maxOutputTokens: 32768, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "fine_tunable"], + releaseDate: "2025-04-14", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:08:14.524Z", + baseModelName: null, }, "gpt-4.1-mini-2025-04-14": { - "provider": "openai", - "description": "A compact, cost-efficient model in OpenAI's GPT-4.1 family that matches or exceeds GPT-4o on many benchmarks while offering nearly half the latency and significantly lower cost.", - "contextWindow": 1000000, - "maxOutputTokens": 32768, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "fine_tunable" - ], - "releaseDate": "2025-04-14", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:08:14.524Z", - "baseModelName": "gpt-4.1-mini" + provider: "openai", + description: + "A compact, cost-efficient model in OpenAI's GPT-4.1 family that matches or exceeds GPT-4o on many benchmarks while offering nearly half the latency and significantly lower cost.", + contextWindow: 1000000, + maxOutputTokens: 32768, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "fine_tunable"], + releaseDate: "2025-04-14", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:08:14.524Z", + baseModelName: "gpt-4.1-mini", }, "gpt-4.1-nano": { - "provider": "openai", - "description": "OpenAI's fastest and most cost-effective model in the GPT-4.1 family, optimized for low-latency tasks like classification, autocompletion, and lightweight agentic workflows with strong instruction-following and tool-calling capabilities.", - "contextWindow": 1047576, - "maxOutputTokens": 32768, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-04-14", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:08:04.533Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's fastest and most cost-effective model in the GPT-4.1 family, optimized for low-latency tasks like classification, autocompletion, and lightweight agentic workflows with strong instruction-following and tool-calling capabilities.", + contextWindow: 1047576, + maxOutputTokens: 32768, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-04-14", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:08:04.533Z", + baseModelName: null, }, "gpt-4.1-nano-2025-04-14": { - "provider": "openai", - "description": "OpenAI's fastest and most cost-effective model in the GPT-4.1 family, optimized for low-latency tasks like classification, autocompletion, and lightweight agentic workflows with strong instruction-following and tool-calling capabilities.", - "contextWindow": 1047576, - "maxOutputTokens": 32768, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-04-14", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:08:04.533Z", - "baseModelName": "gpt-4.1-nano" + provider: "openai", + description: + "OpenAI's fastest and most cost-effective model in the GPT-4.1 family, optimized for low-latency tasks like classification, autocompletion, and lightweight agentic workflows with strong instruction-following and tool-calling capabilities.", + contextWindow: 1047576, + maxOutputTokens: 32768, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-04-14", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:08:04.533Z", + baseModelName: "gpt-4.1-nano", }, "gpt-4.5-preview": { - "provider": "openai", - "description": "OpenAI's largest pretrained model before the GPT-5 series, emphasizing broad knowledge, creative writing, and improved emotional intelligence over reasoning-focused models.", - "contextWindow": 128000, - "maxOutputTokens": 16384, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-02-27", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2025-07-14", - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:07:57.880Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's largest pretrained model before the GPT-5 series, emphasizing broad knowledge, creative writing, and improved emotional intelligence over reasoning-focused models.", + contextWindow: 128000, + maxOutputTokens: 16384, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-02-27", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2025-07-14", + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:07:57.880Z", + baseModelName: null, }, "gpt-4.5-preview-2025-02-27": { - "provider": "openai", - "description": "OpenAI's largest pretrained model before the GPT-5 series, emphasizing broad knowledge, creative writing, and improved emotional intelligence over reasoning-focused models.", - "contextWindow": 128000, - "maxOutputTokens": 16384, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-02-27", - "isHidden": true, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2025-07-14", - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:07:57.880Z", - "baseModelName": "gpt-4.5-preview" + provider: "openai", + description: + "OpenAI's largest pretrained model before the GPT-5 series, emphasizing broad knowledge, creative writing, and improved emotional intelligence over reasoning-focused models.", + contextWindow: 128000, + maxOutputTokens: 16384, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-02-27", + isHidden: true, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2025-07-14", + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:07:57.880Z", + baseModelName: "gpt-4.5-preview", }, "gpt-4o": { - "provider": "openai", - "description": "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", - "contextWindow": 128000, - "maxOutputTokens": 16384, - "capabilities": [ + provider: "openai", + description: + "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", + contextWindow: 128000, + maxOutputTokens: 16384, + capabilities: [ "vision", "tool_use", "streaming", "json_mode", "audio_input", "audio_output", - "fine_tunable" + "fine_tunable", ], - "releaseDate": "2024-05-13", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:07:31.638Z", - "baseModelName": null + releaseDate: "2024-05-13", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:07:31.638Z", + baseModelName: null, }, "gpt-4o-2024-05-13": { - "provider": "openai", - "description": "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", - "contextWindow": 128000, - "maxOutputTokens": 16384, - "capabilities": [ + provider: "openai", + description: + "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", + contextWindow: 128000, + maxOutputTokens: 16384, + capabilities: [ "vision", "tool_use", "streaming", "json_mode", "audio_input", "audio_output", - "fine_tunable" + "fine_tunable", ], - "releaseDate": "2024-05-13", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:07:31.638Z", - "baseModelName": "gpt-4o" + releaseDate: "2024-05-13", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:07:31.638Z", + baseModelName: "gpt-4o", }, "gpt-4o-2024-08-06": { - "provider": "openai", - "description": "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", - "contextWindow": 128000, - "maxOutputTokens": 16384, - "capabilities": [ + provider: "openai", + description: + "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", + contextWindow: 128000, + maxOutputTokens: 16384, + capabilities: [ "vision", "tool_use", "streaming", "json_mode", "audio_input", "audio_output", - "fine_tunable" + "fine_tunable", ], - "releaseDate": "2024-05-13", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:07:31.638Z", - "baseModelName": "gpt-4o" + releaseDate: "2024-05-13", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:07:31.638Z", + baseModelName: "gpt-4o", }, "gpt-4o-2024-11-20": { - "provider": "openai", - "description": "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", - "contextWindow": 128000, - "maxOutputTokens": 16384, - "capabilities": [ + provider: "openai", + description: + "OpenAI's flagship multimodal model combining strong reasoning with vision, audio, and tool use capabilities at faster speeds and lower cost than GPT-4 Turbo.", + contextWindow: 128000, + maxOutputTokens: 16384, + capabilities: [ "vision", "tool_use", "streaming", "json_mode", "audio_input", "audio_output", - "fine_tunable" + "fine_tunable", ], - "releaseDate": "2024-05-13", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:07:31.638Z", - "baseModelName": "gpt-4o" + releaseDate: "2024-05-13", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:07:31.638Z", + baseModelName: "gpt-4o", }, "gpt-4o-audio-preview": { - "provider": "openai", - "description": "GPT-4o variant with native audio input and output capabilities via the Chat Completions API, supporting both text and audio modalities for conversational and voice-based applications.", - "contextWindow": 128000, - "maxOutputTokens": 16384, - "capabilities": [ - "audio_input", - "audio_output", - "tool_use", - "streaming" - ], - "releaseDate": "2024-10-01", - "isHidden": false, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2026-05-07", - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:08:09.590Z", - "baseModelName": null + provider: "openai", + description: + "GPT-4o variant with native audio input and output capabilities via the Chat Completions API, supporting both text and audio modalities for conversational and voice-based applications.", + contextWindow: 128000, + maxOutputTokens: 16384, + capabilities: ["audio_input", "audio_output", "tool_use", "streaming"], + releaseDate: "2024-10-01", + isHidden: false, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2026-05-07", + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:08:09.590Z", + baseModelName: null, }, "gpt-4o-audio-preview-2024-10-01": { - "provider": "openai", - "description": "GPT-4o variant with native audio input and output capabilities via the Chat Completions API, supporting both text and audio modalities for conversational and voice-based applications.", - "contextWindow": 128000, - "maxOutputTokens": 16384, - "capabilities": [ - "audio_input", - "audio_output", - "tool_use", - "streaming" - ], - "releaseDate": "2024-10-01", - "isHidden": false, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": "2026-05-07", - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:08:09.590Z", - "baseModelName": "gpt-4o-audio-preview" + provider: "openai", + description: + "GPT-4o variant with native audio input and output capabilities via the Chat Completions API, supporting both text and audio modalities for conversational and voice-based applications.", + contextWindow: 128000, + maxOutputTokens: 16384, + capabilities: ["audio_input", "audio_output", "tool_use", "streaming"], + releaseDate: "2024-10-01", + isHidden: false, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: "2026-05-07", + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:08:09.590Z", + baseModelName: "gpt-4o-audio-preview", }, "gpt-4o-mini": { - "provider": "openai", - "description": "Fast, affordable small model optimized for focused tasks. Positioned as OpenAI's cost-efficient option with strong performance on benchmarks relative to its size.", - "contextWindow": 128000, - "maxOutputTokens": 16384, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "fine_tunable" - ], - "releaseDate": "2024-07-18", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:09:50.130Z", - "baseModelName": null + provider: "openai", + description: + "Fast, affordable small model optimized for focused tasks. Positioned as OpenAI's cost-efficient option with strong performance on benchmarks relative to its size.", + contextWindow: 128000, + maxOutputTokens: 16384, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "fine_tunable"], + releaseDate: "2024-07-18", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:09:50.130Z", + baseModelName: null, }, "gpt-4o-mini-2024-07-18": { - "provider": "openai", - "description": "Fast, affordable small model optimized for focused tasks. Positioned as OpenAI's cost-efficient option with strong performance on benchmarks relative to its size.", - "contextWindow": 128000, - "maxOutputTokens": 16384, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "fine_tunable" - ], - "releaseDate": "2024-07-18", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:09:50.130Z", - "baseModelName": "gpt-4o-mini" + provider: "openai", + description: + "Fast, affordable small model optimized for focused tasks. Positioned as OpenAI's cost-efficient option with strong performance on benchmarks relative to its size.", + contextWindow: 128000, + maxOutputTokens: 16384, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "fine_tunable"], + releaseDate: "2024-07-18", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:09:50.130Z", + baseModelName: "gpt-4o-mini", }, "gpt-4o-realtime-preview": { - "provider": "openai", - "description": "OpenAI's real-time multimodal model capable of processing and generating both text and audio over WebRTC or WebSocket, enabling low-latency voice conversations and audio interactions.", - "contextWindow": 128000, - "maxOutputTokens": 4096, - "capabilities": [ - "audio_input", - "audio_output", - "tool_use", - "streaming" - ], - "releaseDate": "2024-10-01", - "isHidden": false, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": false, - "deprecationDate": "2026-05-07", - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:09:35.495Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's real-time multimodal model capable of processing and generating both text and audio over WebRTC or WebSocket, enabling low-latency voice conversations and audio interactions.", + contextWindow: 128000, + maxOutputTokens: 4096, + capabilities: ["audio_input", "audio_output", "tool_use", "streaming"], + releaseDate: "2024-10-01", + isHidden: false, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: false, + deprecationDate: "2026-05-07", + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:09:35.495Z", + baseModelName: null, }, "gpt-4o-realtime-preview-2024-10-01": { - "provider": "openai", - "description": "OpenAI's real-time multimodal model capable of processing and generating both text and audio over WebRTC or WebSocket, enabling low-latency voice conversations and audio interactions.", - "contextWindow": 128000, - "maxOutputTokens": 4096, - "capabilities": [ - "audio_input", - "audio_output", - "tool_use", - "streaming" - ], - "releaseDate": "2024-10-01", - "isHidden": false, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": false, - "deprecationDate": "2026-05-07", - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:09:35.495Z", - "baseModelName": "gpt-4o-realtime-preview" + provider: "openai", + description: + "OpenAI's real-time multimodal model capable of processing and generating both text and audio over WebRTC or WebSocket, enabling low-latency voice conversations and audio interactions.", + contextWindow: 128000, + maxOutputTokens: 4096, + capabilities: ["audio_input", "audio_output", "tool_use", "streaming"], + releaseDate: "2024-10-01", + isHidden: false, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: false, + deprecationDate: "2026-05-07", + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:09:35.495Z", + baseModelName: "gpt-4o-realtime-preview", }, "gpt-5": { - "provider": "openai", - "description": "OpenAI's flagship reasoning model released August 2025, featuring a 400K token context window with strong coding, reasoning, and agentic capabilities.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ + provider: "openai", + description: + "OpenAI's flagship reasoning model released August 2025, featuring a 400K token context window with strong coding, reasoning, and agentic capabilities.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: [ "vision", "tool_use", "streaming", "json_mode", "image_generation", - "code_execution" + "code_execution", ], - "releaseDate": "2025-08-07", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-09-30", - "resolvedAt": "2026-03-24T11:09:28.216Z", - "baseModelName": null + releaseDate: "2025-08-07", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-09-30", + resolvedAt: "2026-03-24T11:09:28.216Z", + baseModelName: null, }, "gpt-5-2025-08-07": { - "provider": "openai", - "description": "OpenAI's flagship reasoning model released August 2025, featuring a 400K token context window with strong coding, reasoning, and agentic capabilities.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ + provider: "openai", + description: + "OpenAI's flagship reasoning model released August 2025, featuring a 400K token context window with strong coding, reasoning, and agentic capabilities.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: [ "vision", "tool_use", "streaming", "json_mode", "image_generation", - "code_execution" + "code_execution", ], - "releaseDate": "2025-08-07", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-09-30", - "resolvedAt": "2026-03-24T11:09:28.216Z", - "baseModelName": "gpt-5" + releaseDate: "2025-08-07", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-09-30", + resolvedAt: "2026-03-24T11:09:28.216Z", + baseModelName: "gpt-5", }, "gpt-5-chat-latest": { - "provider": "openai", - "description": "Non-reasoning GPT-5 model used in ChatGPT, optimized for conversational tasks. Supports text and image inputs with function calling and structured outputs.", - "contextWindow": 128000, - "maxOutputTokens": 16384, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-08-07", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-09-30", - "resolvedAt": "2026-03-24T11:09:24.834Z", - "baseModelName": "gpt-5-chat" + provider: "openai", + description: + "Non-reasoning GPT-5 model used in ChatGPT, optimized for conversational tasks. Supports text and image inputs with function calling and structured outputs.", + contextWindow: 128000, + maxOutputTokens: 16384, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-08-07", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-09-30", + resolvedAt: "2026-03-24T11:09:24.834Z", + baseModelName: "gpt-5-chat", }, "gpt-5-mini": { - "provider": "openai", - "description": "A faster, more cost-efficient version of GPT-5 designed for well-defined tasks and precise prompts. Supports reasoning with configurable effort levels and offers reduced latency compared to the full GPT-5 model.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-08-07", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-05-31", - "resolvedAt": "2026-03-24T11:09:42.822Z", - "baseModelName": null + provider: "openai", + description: + "A faster, more cost-efficient version of GPT-5 designed for well-defined tasks and precise prompts. Supports reasoning with configurable effort levels and offers reduced latency compared to the full GPT-5 model.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-08-07", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-05-31", + resolvedAt: "2026-03-24T11:09:42.822Z", + baseModelName: null, }, "gpt-5-mini-2025-08-07": { - "provider": "openai", - "description": "A faster, more cost-efficient version of GPT-5 designed for well-defined tasks and precise prompts. Supports reasoning with configurable effort levels and offers reduced latency compared to the full GPT-5 model.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-08-07", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-05-31", - "resolvedAt": "2026-03-24T11:09:42.822Z", - "baseModelName": "gpt-5-mini" + provider: "openai", + description: + "A faster, more cost-efficient version of GPT-5 designed for well-defined tasks and precise prompts. Supports reasoning with configurable effort levels and offers reduced latency compared to the full GPT-5 model.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-08-07", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-05-31", + resolvedAt: "2026-03-24T11:09:42.822Z", + baseModelName: "gpt-5-mini", }, "gpt-5-nano": { - "provider": "openai", - "description": "The smallest and fastest variant in the GPT-5 family, optimized for developer tools, rapid interactions, and ultra-low latency environments. Best suited for classification, data extraction, ranking, and sub-agent tasks.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-08-07", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-05-31", - "resolvedAt": "2026-03-24T11:11:24.884Z", - "baseModelName": null + provider: "openai", + description: + "The smallest and fastest variant in the GPT-5 family, optimized for developer tools, rapid interactions, and ultra-low latency environments. Best suited for classification, data extraction, ranking, and sub-agent tasks.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-08-07", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-05-31", + resolvedAt: "2026-03-24T11:11:24.884Z", + baseModelName: null, }, "gpt-5-nano-2025-08-07": { - "provider": "openai", - "description": "The smallest and fastest variant in the GPT-5 family, optimized for developer tools, rapid interactions, and ultra-low latency environments. Best suited for classification, data extraction, ranking, and sub-agent tasks.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-08-07", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-05-31", - "resolvedAt": "2026-03-24T11:11:24.884Z", - "baseModelName": "gpt-5-nano" + provider: "openai", + description: + "The smallest and fastest variant in the GPT-5 family, optimized for developer tools, rapid interactions, and ultra-low latency environments. Best suited for classification, data extraction, ranking, and sub-agent tasks.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-08-07", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-05-31", + resolvedAt: "2026-03-24T11:11:24.884Z", + baseModelName: "gpt-5-nano", }, "gpt-5-pro": { - "provider": "openai", - "description": "OpenAI's enhanced GPT-5 variant optimized for complex tasks requiring step-by-step reasoning, with reduced hallucination and improved code quality compared to the base GPT-5.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-10-06", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-10-01", - "resolvedAt": "2026-03-24T11:11:37.048Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's enhanced GPT-5 variant optimized for complex tasks requiring step-by-step reasoning, with reduced hallucination and improved code quality compared to the base GPT-5.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-10-06", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-10-01", + resolvedAt: "2026-03-24T11:11:37.048Z", + baseModelName: null, }, "gpt-5-pro-2025-10-06": { - "provider": "openai", - "description": "OpenAI's enhanced GPT-5 variant optimized for complex tasks requiring step-by-step reasoning, with reduced hallucination and improved code quality compared to the base GPT-5.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-10-06", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-10-01", - "resolvedAt": "2026-03-24T11:11:37.048Z", - "baseModelName": "gpt-5-pro" + provider: "openai", + description: + "OpenAI's enhanced GPT-5 variant optimized for complex tasks requiring step-by-step reasoning, with reduced hallucination and improved code quality compared to the base GPT-5.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-10-06", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-10-01", + resolvedAt: "2026-03-24T11:11:37.048Z", + baseModelName: "gpt-5-pro", }, "gpt-5.1": { - "provider": "openai", - "description": "GPT-5.1 is OpenAI's frontier-grade model in the GPT-5 series, offering adaptive reasoning with configurable effort levels, improved coding and math performance, and a more natural conversational style compared to GPT-5.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-11-13", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-09-30", - "resolvedAt": "2026-03-24T11:11:47.327Z", - "baseModelName": null + provider: "openai", + description: + "GPT-5.1 is OpenAI's frontier-grade model in the GPT-5 series, offering adaptive reasoning with configurable effort levels, improved coding and math performance, and a more natural conversational style compared to GPT-5.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-11-13", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-09-30", + resolvedAt: "2026-03-24T11:11:47.327Z", + baseModelName: null, }, "gpt-5.1-2025-11-13": { - "provider": "openai", - "description": "GPT-5.1 is OpenAI's frontier-grade model in the GPT-5 series, offering adaptive reasoning with configurable effort levels, improved coding and math performance, and a more natural conversational style compared to GPT-5.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2025-11-13", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-09-30", - "resolvedAt": "2026-03-24T11:11:47.327Z", - "baseModelName": "gpt-5.1" + provider: "openai", + description: + "GPT-5.1 is OpenAI's frontier-grade model in the GPT-5 series, offering adaptive reasoning with configurable effort levels, improved coding and math performance, and a more natural conversational style compared to GPT-5.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2025-11-13", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-09-30", + resolvedAt: "2026-03-24T11:11:47.327Z", + baseModelName: "gpt-5.1", }, "gpt-5.2": { - "provider": "openai", - "description": "OpenAI's flagship multimodal model released December 2025, excelling at long-context reasoning, agentic tool use, software engineering, and professional knowledge work. Available in Instant, Thinking, and Pro variants.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-12-11", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-08-31", - "resolvedAt": "2026-03-24T11:11:13.129Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's flagship multimodal model released December 2025, excelling at long-context reasoning, agentic tool use, software engineering, and professional knowledge work. Available in Instant, Thinking, and Pro variants.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-12-11", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-08-31", + resolvedAt: "2026-03-24T11:11:13.129Z", + baseModelName: null, }, "gpt-5.2-2025-12-11": { - "provider": "openai", - "description": "OpenAI's flagship multimodal model released December 2025, excelling at long-context reasoning, agentic tool use, software engineering, and professional knowledge work. Available in Instant, Thinking, and Pro variants.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-12-11", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-08-31", - "resolvedAt": "2026-03-24T11:11:13.129Z", - "baseModelName": "gpt-5.2" + provider: "openai", + description: + "OpenAI's flagship multimodal model released December 2025, excelling at long-context reasoning, agentic tool use, software engineering, and professional knowledge work. Available in Instant, Thinking, and Pro variants.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-12-11", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-08-31", + resolvedAt: "2026-03-24T11:11:13.129Z", + baseModelName: "gpt-5.2", }, "gpt-5.2-pro": { - "provider": "openai", - "description": "OpenAI's previous pro-tier reasoning model optimized for complex professional work requiring step-by-step reasoning, instruction following, and accuracy in high-stakes use cases. Superseded by GPT-5.4 pro.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "extended_thinking" - ], - "releaseDate": "2025-12-11", - "isHidden": false, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-08-31", - "resolvedAt": "2026-03-24T11:11:12.711Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's previous pro-tier reasoning model optimized for complex professional work requiring step-by-step reasoning, instruction following, and accuracy in high-stakes use cases. Superseded by GPT-5.4 pro.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "extended_thinking"], + releaseDate: "2025-12-11", + isHidden: false, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-08-31", + resolvedAt: "2026-03-24T11:11:12.711Z", + baseModelName: null, }, "gpt-5.2-pro-2025-12-11": { - "provider": "openai", - "description": "OpenAI's previous pro-tier reasoning model optimized for complex professional work requiring step-by-step reasoning, instruction following, and accuracy in high-stakes use cases. Superseded by GPT-5.4 pro.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "extended_thinking" - ], - "releaseDate": "2025-12-11", - "isHidden": false, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-08-31", - "resolvedAt": "2026-03-24T11:11:12.711Z", - "baseModelName": "gpt-5.2-pro" + provider: "openai", + description: + "OpenAI's previous pro-tier reasoning model optimized for complex professional work requiring step-by-step reasoning, instruction following, and accuracy in high-stakes use cases. Superseded by GPT-5.4 pro.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "extended_thinking"], + releaseDate: "2025-12-11", + isHidden: false, + supportsStructuredOutput: false, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-08-31", + resolvedAt: "2026-03-24T11:11:12.711Z", + baseModelName: "gpt-5.2-pro", }, "gpt-5.4": { - "provider": "openai", - "description": "OpenAI's most capable frontier model as of March 2026, featuring state-of-the-art coding, native computer-use capabilities, and a 1M-token context window for professional and agentic workflows.", - "contextWindow": 1050000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "code_execution" - ], - "releaseDate": "2026-03-05", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-08-31", - "resolvedAt": "2026-03-24T11:12:09.220Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's most capable frontier model as of March 2026, featuring state-of-the-art coding, native computer-use capabilities, and a 1M-token context window for professional and agentic workflows.", + contextWindow: 1050000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "code_execution"], + releaseDate: "2026-03-05", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-08-31", + resolvedAt: "2026-03-24T11:12:09.220Z", + baseModelName: null, }, "gpt-5.4-2026-03-05": { - "provider": "openai", - "description": "OpenAI's most capable frontier model as of March 2026, featuring state-of-the-art coding, native computer-use capabilities, and a 1M-token context window for professional and agentic workflows.", - "contextWindow": 1050000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "code_execution" - ], - "releaseDate": "2026-03-05", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-08-31", - "resolvedAt": "2026-03-24T11:12:09.220Z", - "baseModelName": "gpt-5.4" + provider: "openai", + description: + "OpenAI's most capable frontier model as of March 2026, featuring state-of-the-art coding, native computer-use capabilities, and a 1M-token context window for professional and agentic workflows.", + contextWindow: 1050000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "code_execution"], + releaseDate: "2026-03-05", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-08-31", + resolvedAt: "2026-03-24T11:12:09.220Z", + baseModelName: "gpt-5.4", }, "gpt-5.4-mini": { - "provider": "openai", - "description": "OpenAI's fast and efficient small model from the GPT-5.4 family, designed for high-volume workloads. Approaches GPT-5.4 performance on coding and reasoning while running over 2x faster than GPT-5 mini.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2026-03-17", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-08-31", - "resolvedAt": "2026-03-24T11:12:35.473Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's fast and efficient small model from the GPT-5.4 family, designed for high-volume workloads. Approaches GPT-5.4 performance on coding and reasoning while running over 2x faster than GPT-5 mini.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2026-03-17", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-08-31", + resolvedAt: "2026-03-24T11:12:35.473Z", + baseModelName: null, }, "gpt-5.4-mini-2026-03-17": { - "provider": "openai", - "description": "OpenAI's fast and efficient small model from the GPT-5.4 family, designed for high-volume workloads. Approaches GPT-5.4 performance on coding and reasoning while running over 2x faster than GPT-5 mini.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2026-03-17", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-08-31", - "resolvedAt": "2026-03-24T11:12:35.473Z", - "baseModelName": "gpt-5.4-mini" + provider: "openai", + description: + "OpenAI's fast and efficient small model from the GPT-5.4 family, designed for high-volume workloads. Approaches GPT-5.4 performance on coding and reasoning while running over 2x faster than GPT-5 mini.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2026-03-17", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-08-31", + resolvedAt: "2026-03-24T11:12:35.473Z", + baseModelName: "gpt-5.4-mini", }, "gpt-5.4-nano": { - "provider": "openai", - "description": "OpenAI's cheapest GPT-5.4-class model optimized for simple high-volume tasks like classification, data extraction, ranking, and sub-agent delegation in agentic workflows.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2026-03-17", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-08-31", - "resolvedAt": "2026-03-24T11:12:52.285Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's cheapest GPT-5.4-class model optimized for simple high-volume tasks like classification, data extraction, ranking, and sub-agent delegation in agentic workflows.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2026-03-17", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-08-31", + resolvedAt: "2026-03-24T11:12:52.285Z", + baseModelName: null, }, "gpt-5.4-nano-2026-03-17": { - "provider": "openai", - "description": "OpenAI's cheapest GPT-5.4-class model optimized for simple high-volume tasks like classification, data extraction, ranking, and sub-agent delegation in agentic workflows.", - "contextWindow": 400000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2026-03-17", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-08-31", - "resolvedAt": "2026-03-24T11:12:52.285Z", - "baseModelName": "gpt-5.4-nano" + provider: "openai", + description: + "OpenAI's cheapest GPT-5.4-class model optimized for simple high-volume tasks like classification, data extraction, ranking, and sub-agent delegation in agentic workflows.", + contextWindow: 400000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2026-03-17", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-08-31", + resolvedAt: "2026-03-24T11:12:52.285Z", + baseModelName: "gpt-5.4-nano", }, "gpt-5.4-pro": { - "provider": "openai", - "description": "OpenAI's highest-capability GPT-5.4 variant, using additional compute for harder problems. Available via Responses API only, designed for complex reasoning, coding, and agentic workflows.", - "contextWindow": 1050000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "extended_thinking" - ], - "releaseDate": "2026-03-05", - "isHidden": false, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": null, - "knowledgeCutoff": "2025-08-31", - "resolvedAt": "2026-03-24T11:12:56.903Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's highest-capability GPT-5.4 variant, using additional compute for harder problems. Available via Responses API only, designed for complex reasoning, coding, and agentic workflows.", + contextWindow: 1050000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "extended_thinking"], + releaseDate: "2026-03-05", + isHidden: false, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: null, + knowledgeCutoff: "2025-08-31", + resolvedAt: "2026-03-24T11:12:56.903Z", + baseModelName: null, }, "gpt-5.4-pro-2026-03-05": { - "provider": "openai", - "description": "OpenAI's highest-capability GPT-5.4 variant, using additional compute for harder problems. Available via Responses API only, designed for complex reasoning, coding, and agentic workflows.", - "contextWindow": 1050000, - "maxOutputTokens": 128000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "extended_thinking" - ], - "releaseDate": "2026-03-05", - "isHidden": false, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": null, - "knowledgeCutoff": "2025-08-31", - "resolvedAt": "2026-03-24T11:12:56.903Z", - "baseModelName": "gpt-5.4-pro" - }, - "o1": { - "provider": "openai", - "description": "OpenAI's reasoning model designed for complex tasks requiring multi-step logical thinking, excelling at math, science, and coding problems.", - "contextWindow": 200000, - "maxOutputTokens": 100000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-12-17", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:12:23.948Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's highest-capability GPT-5.4 variant, using additional compute for harder problems. Available via Responses API only, designed for complex reasoning, coding, and agentic workflows.", + contextWindow: 1050000, + maxOutputTokens: 128000, + capabilities: ["vision", "tool_use", "streaming", "extended_thinking"], + releaseDate: "2026-03-05", + isHidden: false, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: null, + knowledgeCutoff: "2025-08-31", + resolvedAt: "2026-03-24T11:12:56.903Z", + baseModelName: "gpt-5.4-pro", + }, + o1: { + provider: "openai", + description: + "OpenAI's reasoning model designed for complex tasks requiring multi-step logical thinking, excelling at math, science, and coding problems.", + contextWindow: 200000, + maxOutputTokens: 100000, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2024-12-17", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:12:23.948Z", + baseModelName: null, }, "o1-2024-12-17": { - "provider": "openai", - "description": "OpenAI's reasoning model designed for complex tasks requiring multi-step logical thinking, excelling at math, science, and coding problems.", - "contextWindow": 200000, - "maxOutputTokens": 100000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode" - ], - "releaseDate": "2024-12-17", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:12:23.948Z", - "baseModelName": "o1" + provider: "openai", + description: + "OpenAI's reasoning model designed for complex tasks requiring multi-step logical thinking, excelling at math, science, and coding problems.", + contextWindow: 200000, + maxOutputTokens: 100000, + capabilities: ["vision", "tool_use", "streaming", "json_mode"], + releaseDate: "2024-12-17", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:12:23.948Z", + baseModelName: "o1", }, "o1-mini": { - "provider": "openai", - "description": "A smaller, faster, and cheaper reasoning model in OpenAI's o1 series, optimized for coding, math, and science tasks requiring multi-step reasoning.", - "contextWindow": 128000, - "maxOutputTokens": 65536, - "capabilities": [ - "streaming", - "json_mode" - ], - "releaseDate": "2024-09-12", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2025-06-30", - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:12:37.030Z", - "baseModelName": null + provider: "openai", + description: + "A smaller, faster, and cheaper reasoning model in OpenAI's o1 series, optimized for coding, math, and science tasks requiring multi-step reasoning.", + contextWindow: 128000, + maxOutputTokens: 65536, + capabilities: ["streaming", "json_mode"], + releaseDate: "2024-09-12", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2025-06-30", + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:12:37.030Z", + baseModelName: null, }, "o1-mini-2024-09-12": { - "provider": "openai", - "description": "A smaller, faster, and cheaper reasoning model in OpenAI's o1 series, optimized for coding, math, and science tasks requiring multi-step reasoning.", - "contextWindow": 128000, - "maxOutputTokens": 65536, - "capabilities": [ - "streaming", - "json_mode" - ], - "releaseDate": "2024-09-12", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2025-06-30", - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:12:37.030Z", - "baseModelName": "o1-mini" + provider: "openai", + description: + "A smaller, faster, and cheaper reasoning model in OpenAI's o1 series, optimized for coding, math, and science tasks requiring multi-step reasoning.", + contextWindow: 128000, + maxOutputTokens: 65536, + capabilities: ["streaming", "json_mode"], + releaseDate: "2024-09-12", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2025-06-30", + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:12:37.030Z", + baseModelName: "o1-mini", }, "o1-preview": { - "provider": "openai", - "description": "OpenAI's first reasoning model using chain-of-thought to solve complex problems in science, coding, and math. Predecessor to o1 and o3 series.", - "contextWindow": 128000, - "maxOutputTokens": 32768, - "capabilities": [ - "streaming" - ], - "releaseDate": "2024-09-12", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2025-10-31", - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:12:59.198Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's first reasoning model using chain-of-thought to solve complex problems in science, coding, and math. Predecessor to o1 and o3 series.", + contextWindow: 128000, + maxOutputTokens: 32768, + capabilities: ["streaming"], + releaseDate: "2024-09-12", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2025-10-31", + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:12:59.198Z", + baseModelName: null, }, "o1-preview-2024-09-12": { - "provider": "openai", - "description": "OpenAI's first reasoning model using chain-of-thought to solve complex problems in science, coding, and math. Predecessor to o1 and o3 series.", - "contextWindow": 128000, - "maxOutputTokens": 32768, - "capabilities": [ - "streaming" - ], - "releaseDate": "2024-09-12", - "isHidden": true, - "supportsStructuredOutput": false, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": "2025-10-31", - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:12:59.198Z", - "baseModelName": "o1-preview" + provider: "openai", + description: + "OpenAI's first reasoning model using chain-of-thought to solve complex problems in science, coding, and math. Predecessor to o1 and o3 series.", + contextWindow: 128000, + maxOutputTokens: 32768, + capabilities: ["streaming"], + releaseDate: "2024-09-12", + isHidden: true, + supportsStructuredOutput: false, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: "2025-10-31", + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:12:59.198Z", + baseModelName: "o1-preview", }, "o1-pro": { - "provider": "openai", - "description": "A version of OpenAI's o1 reasoning model that uses significantly more compute to deliver better, more consistent answers on complex reasoning tasks in science, coding, and math.", - "contextWindow": 200000, - "maxOutputTokens": 100000, - "capabilities": [ - "vision", - "tool_use", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-03-19", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": null, - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:13:57.532Z", - "baseModelName": null + provider: "openai", + description: + "A version of OpenAI's o1 reasoning model that uses significantly more compute to deliver better, more consistent answers on complex reasoning tasks in science, coding, and math.", + contextWindow: 200000, + maxOutputTokens: 100000, + capabilities: ["vision", "tool_use", "json_mode", "extended_thinking"], + releaseDate: "2025-03-19", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: null, + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:13:57.532Z", + baseModelName: null, }, "o1-pro-2025-03-19": { - "provider": "openai", - "description": "A version of OpenAI's o1 reasoning model that uses significantly more compute to deliver better, more consistent answers on complex reasoning tasks in science, coding, and math.", - "contextWindow": 200000, - "maxOutputTokens": 100000, - "capabilities": [ - "vision", - "tool_use", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-03-19", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": null, - "knowledgeCutoff": "2023-10-01", - "resolvedAt": "2026-03-24T11:13:57.532Z", - "baseModelName": "o1-pro" - }, - "o3": { - "provider": "openai", - "description": "OpenAI's advanced reasoning model designed for complex tasks requiring deep reasoning, excelling at software engineering, mathematics, scientific reasoning, and visual reasoning tasks.", - "contextWindow": 200000, - "maxOutputTokens": 100000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-04-16", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:14:04.906Z", - "baseModelName": null + provider: "openai", + description: + "A version of OpenAI's o1 reasoning model that uses significantly more compute to deliver better, more consistent answers on complex reasoning tasks in science, coding, and math.", + contextWindow: 200000, + maxOutputTokens: 100000, + capabilities: ["vision", "tool_use", "json_mode", "extended_thinking"], + releaseDate: "2025-03-19", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: null, + knowledgeCutoff: "2023-10-01", + resolvedAt: "2026-03-24T11:13:57.532Z", + baseModelName: "o1-pro", + }, + o3: { + provider: "openai", + description: + "OpenAI's advanced reasoning model designed for complex tasks requiring deep reasoning, excelling at software engineering, mathematics, scientific reasoning, and visual reasoning tasks.", + contextWindow: 200000, + maxOutputTokens: 100000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-04-16", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:14:04.906Z", + baseModelName: null, }, "o3-2025-04-16": { - "provider": "openai", - "description": "OpenAI's advanced reasoning model designed for complex tasks requiring deep reasoning, excelling at software engineering, mathematics, scientific reasoning, and visual reasoning tasks.", - "contextWindow": 200000, - "maxOutputTokens": 100000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-04-16", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:14:04.906Z", - "baseModelName": "o3" + provider: "openai", + description: + "OpenAI's advanced reasoning model designed for complex tasks requiring deep reasoning, excelling at software engineering, mathematics, scientific reasoning, and visual reasoning tasks.", + contextWindow: 200000, + maxOutputTokens: 100000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-04-16", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:14:04.906Z", + baseModelName: "o3", }, "o3-mini": { - "provider": "openai", - "description": "OpenAI's compact reasoning model optimized for STEM tasks, offering strong performance in math, science, and coding at lower cost than o3.", - "contextWindow": 200000, - "maxOutputTokens": 100000, - "capabilities": [ - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-01-31", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-01-01", - "resolvedAt": "2026-03-24T11:13:33.788Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's compact reasoning model optimized for STEM tasks, offering strong performance in math, science, and coding at lower cost than o3.", + contextWindow: 200000, + maxOutputTokens: 100000, + capabilities: ["tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-01-31", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-01-01", + resolvedAt: "2026-03-24T11:13:33.788Z", + baseModelName: null, }, "o3-mini-2025-01-31": { - "provider": "openai", - "description": "OpenAI's compact reasoning model optimized for STEM tasks, offering strong performance in math, science, and coding at lower cost than o3.", - "contextWindow": 200000, - "maxOutputTokens": 100000, - "capabilities": [ - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-01-31", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2025-01-01", - "resolvedAt": "2026-03-24T11:13:33.788Z", - "baseModelName": "o3-mini" + provider: "openai", + description: + "OpenAI's compact reasoning model optimized for STEM tasks, offering strong performance in math, science, and coding at lower cost than o3.", + contextWindow: 200000, + maxOutputTokens: 100000, + capabilities: ["tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-01-31", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2025-01-01", + resolvedAt: "2026-03-24T11:13:33.788Z", + baseModelName: "o3-mini", }, "o3-pro": { - "provider": "openai", - "description": "OpenAI's most reliable reasoning model, a version of o3 designed to think longer and provide more consistently accurate answers for challenging math, science, and coding problems.", - "contextWindow": 200000, - "maxOutputTokens": 100000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-06-10", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": null, - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:14:10.900Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's most reliable reasoning model, a version of o3 designed to think longer and provide more consistently accurate answers for challenging math, science, and coding problems.", + contextWindow: 200000, + maxOutputTokens: 100000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-06-10", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: null, + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:14:10.900Z", + baseModelName: null, }, "o3-pro-2025-06-10": { - "provider": "openai", - "description": "OpenAI's most reliable reasoning model, a version of o3 designed to think longer and provide more consistently accurate answers for challenging math, science, and coding problems.", - "contextWindow": 200000, - "maxOutputTokens": 100000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-06-10", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": false, - "supportsStreamingToolCalls": false, - "deprecationDate": null, - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:14:10.900Z", - "baseModelName": "o3-pro" + provider: "openai", + description: + "OpenAI's most reliable reasoning model, a version of o3 designed to think longer and provide more consistently accurate answers for challenging math, science, and coding problems.", + contextWindow: 200000, + maxOutputTokens: 100000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-06-10", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: false, + supportsStreamingToolCalls: false, + deprecationDate: null, + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:14:10.900Z", + baseModelName: "o3-pro", }, "o4-mini": { - "provider": "openai", - "description": "OpenAI's small reasoning model optimized for fast, cost-efficient reasoning with strong performance in math, coding, and visual tasks.", - "contextWindow": 200000, - "maxOutputTokens": 100000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-04-16", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:14:16.050Z", - "baseModelName": null + provider: "openai", + description: + "OpenAI's small reasoning model optimized for fast, cost-efficient reasoning with strong performance in math, coding, and visual tasks.", + contextWindow: 200000, + maxOutputTokens: 100000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-04-16", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:14:16.050Z", + baseModelName: null, }, "o4-mini-2025-04-16": { - "provider": "openai", - "description": "OpenAI's small reasoning model optimized for fast, cost-efficient reasoning with strong performance in math, coding, and visual tasks.", - "contextWindow": 200000, - "maxOutputTokens": 100000, - "capabilities": [ - "vision", - "tool_use", - "streaming", - "json_mode", - "extended_thinking" - ], - "releaseDate": "2025-04-16", - "isHidden": false, - "supportsStructuredOutput": true, - "supportsParallelToolCalls": true, - "supportsStreamingToolCalls": true, - "deprecationDate": null, - "knowledgeCutoff": "2024-06-01", - "resolvedAt": "2026-03-24T11:14:16.050Z", - "baseModelName": "o4-mini" - } + provider: "openai", + description: + "OpenAI's small reasoning model optimized for fast, cost-efficient reasoning with strong performance in math, coding, and visual tasks.", + contextWindow: 200000, + maxOutputTokens: 100000, + capabilities: ["vision", "tool_use", "streaming", "json_mode", "extended_thinking"], + releaseDate: "2025-04-16", + isHidden: false, + supportsStructuredOutput: true, + supportsParallelToolCalls: true, + supportsStreamingToolCalls: true, + deprecationDate: null, + knowledgeCutoff: "2024-06-01", + resolvedAt: "2026-03-24T11:14:16.050Z", + baseModelName: "o4-mini", + }, }; From 66e18f980511c95dd6e70ddb9943c50d41038b8f Mon Sep 17 00:00:00 2001 From: Katia Bulatova Date: Wed, 22 Jul 2026 13:05:58 +0000 Subject: [PATCH 08/14] fix(webapp): preview percentage billing alerts against the current limit --- .../billing-alerts-preview-stale-limit.md | 6 ++++++ .../app/components/billing/billingAlertsFormat.ts | 3 ++- apps/webapp/test/billingAlertsFormat.test.ts | 13 +++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 .server-changes/billing-alerts-preview-stale-limit.md diff --git a/.server-changes/billing-alerts-preview-stale-limit.md b/.server-changes/billing-alerts-preview-stale-limit.md new file mode 100644 index 00000000000..f4ec35c5b20 --- /dev/null +++ b/.server-changes/billing-alerts-preview-stale-limit.md @@ -0,0 +1,6 @@ +--- +area: webapp +type: fix +--- + +Fix billing alert previews showing dollar amounts based on the previous billing limit after the limit was changed. diff --git a/apps/webapp/app/components/billing/billingAlertsFormat.ts b/apps/webapp/app/components/billing/billingAlertsFormat.ts index dc99c49ff1d..fd28ce99cc2 100644 --- a/apps/webapp/app/components/billing/billingAlertsFormat.ts +++ b/apps/webapp/app/components/billing/billingAlertsFormat.ts @@ -315,8 +315,9 @@ export function getAlertPreviewLimitCents( planLimitCents: number ): number { const amountCents = getSavedAlertAmountCents(alerts); + // Percentages always apply to the current limit, not the base stored at last save. if (amountCents > 0 && percentageAlertLevelsToUiThresholds(alerts.alertLevels).length > 0) { - return amountCents; + return effectiveLimitCents; } if (percentageAlertAmountMatches(amountCents, effectiveLimitCents, planLimitCents)) { return amountCents; diff --git a/apps/webapp/test/billingAlertsFormat.test.ts b/apps/webapp/test/billingAlertsFormat.test.ts index 7ef84770d7b..399fd70b025 100644 --- a/apps/webapp/test/billingAlertsFormat.test.ts +++ b/apps/webapp/test/billingAlertsFormat.test.ts @@ -90,6 +90,19 @@ describe("billingAlertsFormat", () => { ).toBe(10_000); }); + it("previews saved percentage alerts against the current limit after it changes", () => { + // Percentage alerts saved against a $30 custom limit, limit later raised to $300. + const alerts = { amount: 30, emails: [], alertLevels: [0.75, 1.0] }; + + expect(getAlertPreviewLimitCents(alerts, 30_000, 10_000)).toBe(30_000); + expect( + previewDollarAmountForPercent(100, getAlertPreviewLimitCents(alerts, 30_000, 10_000)) + ).toBe(300); + expect( + previewDollarAmountForPercent(75, getAlertPreviewLimitCents(alerts, 30_000, 10_000)) + ).toBe(225); + }); + it("normalizes legacy API alerts with dollar amount field and whole percents", () => { expect( normalizeBillingAlertsFromApi( From d20df982078bcfdf357a0c54a9833d7165c2d383 Mon Sep 17 00:00:00 2001 From: Katia Bulatova Date: Wed, 22 Jul 2026 13:20:02 +0000 Subject: [PATCH 09/14] chore: merge server-changes notes into one --- .server-changes/billing-alerts-preview-stale-limit.md | 6 ------ .server-changes/billing-limit-unconfigured-ux.md | 6 ------ .server-changes/default-billing-alerts.md | 2 +- 3 files changed, 1 insertion(+), 13 deletions(-) delete mode 100644 .server-changes/billing-alerts-preview-stale-limit.md delete mode 100644 .server-changes/billing-limit-unconfigured-ux.md diff --git a/.server-changes/billing-alerts-preview-stale-limit.md b/.server-changes/billing-alerts-preview-stale-limit.md deleted file mode 100644 index f4ec35c5b20..00000000000 --- a/.server-changes/billing-alerts-preview-stale-limit.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: fix ---- - -Fix billing alert previews showing dollar amounts based on the previous billing limit after the limit was changed. diff --git a/.server-changes/billing-limit-unconfigured-ux.md b/.server-changes/billing-limit-unconfigured-ux.md deleted file mode 100644 index 280b5e8cd53..00000000000 --- a/.server-changes/billing-limit-unconfigured-ux.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: improvement ---- - -The billing limit page no longer pre-selects an option before you've configured a limit, and shows a clear prompt to set one up. The reminder banner is now hidden for members who can't manage billing. diff --git a/.server-changes/default-billing-alerts.md b/.server-changes/default-billing-alerts.md index bec476663f7..e828c506050 100644 --- a/.server-changes/default-billing-alerts.md +++ b/.server-changes/default-billing-alerts.md @@ -3,4 +3,4 @@ area: webapp type: improvement --- -Organizations without billing alerts now get sensible default spend alert thresholds automatically, so you're notified before usage grows unexpectedly. You can adjust or remove them anytime in billing settings. +Organizations without billing alerts now get default spend alert thresholds, so you're notified before usage grows unexpectedly. The billing limit page no longer pre-selects an option before you've set a limit and prompts you to configure one. Alert previews now update immediately after you change your billing limit. From 42bc4b8af6ee2905b32707846d56ebb0ba2c93e3 Mon Sep 17 00:00:00 2001 From: Katia Bulatova Date: Wed, 22 Jul 2026 13:22:16 +0000 Subject: [PATCH 10/14] chore(webapp): tighten comments --- .../components/billing/BillingLimitConfigSection.tsx | 3 +-- apps/webapp/app/components/billing/OrgBanner.tsx | 3 --- .../app/services/billingAlertsDefaults.server.ts | 10 ++-------- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/apps/webapp/app/components/billing/BillingLimitConfigSection.tsx b/apps/webapp/app/components/billing/BillingLimitConfigSection.tsx index bd3950ec581..157f81303f6 100644 --- a/apps/webapp/app/components/billing/BillingLimitConfigSection.tsx +++ b/apps/webapp/app/components/billing/BillingLimitConfigSection.tsx @@ -55,7 +55,6 @@ export function isBillingLimitFormDirty(input: { customAmount: string; cancelInProgressRuns: boolean; }): boolean { - // No mode selected yet (unconfigured limit) — nothing to save. if (input.mode === "") { return false; } @@ -116,7 +115,7 @@ export function BillingLimitConfigSection({ : ""; const savedCancelInProgressRuns = billingLimit.isConfigured && billingLimit.cancelInProgressRuns; - // When no limit is configured yet, start with no radio option selected. + // Unconfigured limit starts with nothing selected. const resetMode: "" | "none" | "plan" | "custom" = billingLimit.isConfigured ? savedMode : ""; const [mode, setMode] = useState<"" | "none" | "plan" | "custom">(resetMode); diff --git a/apps/webapp/app/components/billing/OrgBanner.tsx b/apps/webapp/app/components/billing/OrgBanner.tsx index 53c37195d87..60076096281 100644 --- a/apps/webapp/app/components/billing/OrgBanner.tsx +++ b/apps/webapp/app/components/billing/OrgBanner.tsx @@ -63,8 +63,6 @@ export function OrgBanner() { case OrgBannerKind.LimitGrace: return hideBillingLimitBanner ? null : ; case OrgBannerKind.NoLimitConfigured: - // On the billing-limits page we still surface the warning, but without the - // "Configure billing limit" action — the form is already on the page. return ; case OrgBannerKind.Upgrade: return organization ? : null; @@ -147,7 +145,6 @@ function NoLimitConfiguredBanner({ onBillingLimitsPage }: { onBillingLimitsPage: const organization = useOrganization(); const canManageBillingLimits = useCanManageBillingLimits(); - // Users who can't manage billing limits can't act on this — no banner for them. if (!canManageBillingLimits) { return null; } diff --git a/apps/webapp/app/services/billingAlertsDefaults.server.ts b/apps/webapp/app/services/billingAlertsDefaults.server.ts index 5110cdf2955..14db67bf4e7 100644 --- a/apps/webapp/app/services/billingAlertsDefaults.server.ts +++ b/apps/webapp/app/services/billingAlertsDefaults.server.ts @@ -5,14 +5,8 @@ import { ABSOLUTE_ALERT_BASE_CENTS } from "~/components/billing/billingAlertsFor const DEFAULT_ALERT_THRESHOLD_DOLLARS = [5, 100, 500, 1000, 2500]; /** - * Build the default billing alerts for an org that has none configured. - * - * The platform evaluates alerts as `usage / amount >= level`. Setting `amount` - * to the $1 base (100 cents) turns `alertLevels` into absolute dollar thresholds, - * which is what the current "no limit configured" UI expects. - * - * Emails are left empty: the platform falls back to org admin/member addresses - * when no recipients are configured. + * Alerts fire at `usage / amount >= level`; amount = 100 cents makes levels + * absolute dollar thresholds. Empty emails fall back to org admins. */ export function buildDefaultBillingAlerts(): UpdateBillingAlertsRequest { return { From 27cb1f0f2813e21a73b63376aed206f0a9e27fd6 Mon Sep 17 00:00:00 2001 From: Katia Bulatova Date: Wed, 22 Jul 2026 13:45:05 +0000 Subject: [PATCH 11/14] fix(webapp): import tryCatch from core subpath --- apps/webapp/app/models/organization.server.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/webapp/app/models/organization.server.ts b/apps/webapp/app/models/organization.server.ts index 483b2db540e..6f697a5d4c3 100644 --- a/apps/webapp/app/models/organization.server.ts +++ b/apps/webapp/app/models/organization.server.ts @@ -6,7 +6,7 @@ import type { RuntimeEnvironment, User, } from "@trigger.dev/database"; -import { tryCatch } from "@trigger.dev/core"; +import { tryCatch } from "@trigger.dev/core/utils"; import { customAlphabet } from "nanoid"; import { generate } from "random-words"; import slug from "slug"; From c478e72b98d9fc075ab8da310f2abf3d4990770e Mon Sep 17 00:00:00 2001 From: Katia Bulatova Date: Wed, 22 Jul 2026 13:51:06 +0000 Subject: [PATCH 12/14] fix(webapp): cap default alerts seed with a 5s timeout --- apps/webapp/app/models/organization.server.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/apps/webapp/app/models/organization.server.ts b/apps/webapp/app/models/organization.server.ts index 6f697a5d4c3..9f7fb382315 100644 --- a/apps/webapp/app/models/organization.server.ts +++ b/apps/webapp/app/models/organization.server.ts @@ -135,13 +135,25 @@ export async function createOrganization( return { ...organization }; } +// The platform client has no request timeout; don't let a slow billing backend stall org creation. +const SEED_ALERTS_TIMEOUT_MS = 5_000; + /** Seed default billing alerts for a new org. Never fails org creation. */ async function seedDefaultBillingAlerts(organizationId: string): Promise { if (!isBillingConfigured()) { return; } - const [error] = await tryCatch(setBillingAlert(organizationId, buildDefaultBillingAlerts())); + let timer: NodeJS.Timeout | undefined; + const timeout = new Promise((_, reject) => { + timer = setTimeout(() => reject(new Error("Timed out")), SEED_ALERTS_TIMEOUT_MS); + }); + + const [error] = await tryCatch( + Promise.race([setBillingAlert(organizationId, buildDefaultBillingAlerts()), timeout]).finally( + () => clearTimeout(timer) + ) + ); if (error) { logger.warn("Failed to seed default billing alerts for new org", { organizationId, From 958275d04d6554bc2c812ae1f90d8f0063eb9c1e Mon Sep 17 00:00:00 2001 From: Katia Bulatova Date: Wed, 22 Jul 2026 15:11:15 +0000 Subject: [PATCH 13/14] feat(webapp): move no-limit notice into the billing limit section --- .../billing/BillingLimitConfigSection.tsx | 8 ++++++++ .../app/components/billing/OrgBanner.tsx | 18 +++++++----------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/apps/webapp/app/components/billing/BillingLimitConfigSection.tsx b/apps/webapp/app/components/billing/BillingLimitConfigSection.tsx index 157f81303f6..e6362d4cb1d 100644 --- a/apps/webapp/app/components/billing/BillingLimitConfigSection.tsx +++ b/apps/webapp/app/components/billing/BillingLimitConfigSection.tsx @@ -7,6 +7,7 @@ import { z } from "zod"; import { getBillingLimitMode } from "~/components/billing/billingAlertsFormat"; import { formatGracePeriodMs } from "~/components/billing/billingLimitFormat"; import { AnimatedCallout } from "~/components/primitives/AnimatedCallout"; +import { Callout } from "~/components/primitives/Callout"; import { Button } from "~/components/primitives/Buttons"; import { CheckboxWithLabel } from "~/components/primitives/Checkbox"; import { Fieldset } from "~/components/primitives/Fieldset"; @@ -190,6 +191,13 @@ export function BillingLimitConfigSection({ + {!billingLimit.isConfigured && ( + + Configure a monthly billing limit below to cap your spend, or set no limit to let runs + keep going. + + )} +
diff --git a/apps/webapp/app/components/billing/OrgBanner.tsx b/apps/webapp/app/components/billing/OrgBanner.tsx index 60076096281..df86f1471f7 100644 --- a/apps/webapp/app/components/billing/OrgBanner.tsx +++ b/apps/webapp/app/components/billing/OrgBanner.tsx @@ -63,7 +63,7 @@ export function OrgBanner() { case OrgBannerKind.LimitGrace: return hideBillingLimitBanner ? null : ; case OrgBannerKind.NoLimitConfigured: - return ; + return hideBillingLimitBanner ? null : ; case OrgBannerKind.Upgrade: return organization ? : null; case OrgBannerKind.EnvironmentWarning: @@ -141,29 +141,25 @@ function LimitGraceBanner() { ); } -function NoLimitConfiguredBanner({ onBillingLimitsPage }: { onBillingLimitsPage: boolean }) { +function NoLimitConfiguredBanner() { const organization = useOrganization(); const canManageBillingLimits = useCanManageBillingLimits(); - if (!canManageBillingLimits) { - return null; - } - return ( Configure billing limit - ) + ) : undefined } > - {onBillingLimitsPage - ? "Please configure a billing limit to protect your organization from unexpected usage spikes." - : "Protect your organization from unexpected usage spikes."} + {canManageBillingLimits + ? "Protect your organization from unexpected usage spikes." + : "Billing limits are not configured for this organization. Contact an organization administrator to configure them."} ); } From 5225c26dddb1b0de3ffd463b37b3a20c1e506fdf Mon Sep 17 00:00:00 2001 From: Katia Bulatova Date: Wed, 22 Jul 2026 15:22:58 +0000 Subject: [PATCH 14/14] fix(webapp): absolute base marker wins over legacy-dollar heuristic --- .../components/billing/billingAlertsFormat.ts | 5 +++++ apps/webapp/test/billingAlertsFormat.test.ts | 22 ++++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/apps/webapp/app/components/billing/billingAlertsFormat.ts b/apps/webapp/app/components/billing/billingAlertsFormat.ts index fd28ce99cc2..5940405a84c 100644 --- a/apps/webapp/app/components/billing/billingAlertsFormat.ts +++ b/apps/webapp/app/components/billing/billingAlertsFormat.ts @@ -208,6 +208,11 @@ export function isLegacyDollarAmountField( return false; } + // The exact $1 absolute base marker always wins, even with levels below 100 (e.g. a $5 alert). + if (rawAmount === ABSOLUTE_ALERT_BASE_CENTS) { + return false; + } + if (!Number.isFinite(rawAmount) || rawAmount < 10) { return false; } diff --git a/apps/webapp/test/billingAlertsFormat.test.ts b/apps/webapp/test/billingAlertsFormat.test.ts index 399fd70b025..98a61ca8b86 100644 --- a/apps/webapp/test/billingAlertsFormat.test.ts +++ b/apps/webapp/test/billingAlertsFormat.test.ts @@ -163,6 +163,22 @@ describe("billingAlertsFormat", () => { ); }); + it("keeps seeded absolute defaults absolute when the plan limit is exactly $100", () => { + const normalized = normalizeBillingAlertsFromApi( + { + amount: 100, + emails: [], + alertLevels: [5, 100, 500, 1000, 2500], + }, + { planLimitCents: 10_000, effectiveLimitCents: 10_000 } + ); + + expect(normalized.amount).toBe(1); + expect(storedAlertsToThresholds(normalized, "none", 10_000, 10_000)).toEqual([ + 5, 100, 500, 1000, 2500, + ]); + }); + it("normalizes cents-based alerts with whole-number levels when amount matches limit", () => { const normalized = normalizeBillingAlertsFromApi( { @@ -186,14 +202,14 @@ describe("billingAlertsFormat", () => { expect( normalizeBillingAlertsFromApi( { - amount: 100, + amount: 300, emails: [], alertLevels: [10, 50, 80], }, - { planLimitCents: 10_000, effectiveLimitCents: 10_000 } + { planLimitCents: 30_000, effectiveLimitCents: 30_000 } ) ).toEqual({ - amount: 100, + amount: 300, emails: [], alertLevels: [10, 50, 80], });